আমাদের একটি ফাংশন লিখতে হবে যা দুটি দিয়ে गये কালারের মাঝপথে একটি র্যান্ডম কালার জেনারেট করবে। এই সমস্যার সমাধান আমরা幾টি ধাপে করব -
প্রথমে → আমরা একটি ফাংশন লিখব যেটি দুটি দিয়ে गये নাম্বারের মাঝপথে একটি র্যান্ডম নাম্বার জেনারেট করবে।
দ্বিতীয়ে → হেক্স স্কেল ব্যবহার না করে র্যান্ডম কালার জেনারেশনের জন্য, আমরা হেক্স কে ০ থেকে ১৫ ডেসিমেল স্কেলে ম্যাপ করব এবং সেটি ব্যবহার করব।
শেষে → দিয়ে गये যেকোনো একটা কালার স্ট্রিংয়ের ওপর লুপ চালিয়ে র্যান্ডম কালার জেনারেট করব।
উদাহরণ
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'));কনসোলে সম্ভাব্য আউটপুট -
নোট - এটি সšelbleib多くの可能なアウトプットの一つに過ぎません,因为输出是随机的。
আউটপুট
#33332A #C23328 #36822B #35102A