使用 JavaScript 為顏色計生成 #CCCCCC 和 #3B5998 之間顏色?


我們必須編寫一個在兩個給定顏色之間生成隨機顏色的函式。我們將分步解決此問題 -

  • 首先 → 我們編寫一個在兩個給定數字之間生成隨機數字的函式。

  • 其次 → 對於隨機顏色生成,我們將使用 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

更新於: 21-8-2020

266 次瀏覽

拉開您的 事業

完成課程獲得認證

開始
廣告
© . All rights reserved.