Chúng ta phải viết một hàm tạo ra một màu ngẫu nhiên giữa hai màu đã cho. Hãy giải quyết vấn đề này theo từng phần -
-
Đầu tiên → Chúng tôi viết một hàm tạo ra một số ngẫu nhiên giữa hai số đã cho.
-
Thứ hai → Thay vì sử dụng thang hex để tạo màu ngẫu nhiên, chúng tôi sẽ ánh xạ thang theo tỷ lệ thập phân 0 đến 15 và thay vào đó sử dụng thang đo đó.
-
Cuối cùng → Chúng tôi lặp lại bất kỳ chuỗi màu nào trong số các chuỗi màu đã cho và tạo ra một màu ngẫu nhiên.
Ví dụ
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'));
Sau đây là đầu ra có thể có trong bảng điều khiển -
Lưu ý - Đây chỉ là một trong nhiều đầu ra có thể có vì đầu ra là ngẫu nhiên mọi lúc.
Đầu ra
#33332A #C23328 #36822B #35102A