আমাদের একটি ফাংশন লিখতে হবে যা দুটি প্রদত্ত রঙের মধ্যে একটি এলোমেলো রঙ তৈরি করে। আসুন এই সমস্যাটিকে অংশে স্তূপাকার করি -
-
প্রথমে → আমরা একটি ফাংশন লিখি যা দুটি প্রদত্ত সংখ্যার মধ্যে একটি এলোমেলো সংখ্যা তৈরি করে।
-
দ্বিতীয় → র্যান্ডম কালার জেনারেশনের জন্য হেক্স স্কেল ব্যবহার করার পরিবর্তে, আমরা হেক্সকে 0 থেকে 15 দশমিক স্কেলে ম্যাপ করব এবং পরিবর্তে এটি ব্যবহার করব।
-
সবশেষে → আমরা প্রদত্ত যে কোনো রঙের স্ট্রিং লুপ করি এবং একটি এলোমেলো রঙ তৈরি করি।
উদাহরণ
const randomBetween = (a, b) => {
const max = Math.max(a, b);
const min = Math.min(a, b);
return Math.floor(Math.random() * (max - min) + min);
};
const randomColor = (firstColor, secondColor) => {
first = firstColor.toUpperCase().substring(1, secondColor.length);
second = secondColor.toUpperCase().substring(1, firstColor.length);
const scale = '0123456789ABCDEF';
let color = '#';
for(let i = 0; i < first.length && i < second.length; i++ ){
const random = randomBetween(scale.indexOf(first[i]),
scale.indexOf(second[i]));
color += scale[random];
};
return color;
};
console.log(randomColor('#34324a', '#42342c'));
console.log(randomColor('#f43250', '#12342c'));
console.log(randomColor('#34324a', '#47942c'));
console.log(randomColor('#ffffff', '#000000')); নিম্নোক্ত কনসোলে সম্ভাব্য আউটপুট -
দ্রষ্টব্য − এটি অনেক সম্ভাব্য আউটপুটগুলির মধ্যে একটি কারণ আউটপুট প্রতিবার এলোমেলো হয়৷
৷আউটপুট
#33332A #C23328 #36822B #35102A