将数组值转换为RGB格式

问题描述 投票:0回答:1

我在表中有一系列值,我想将它们三乘三分开以将它们用作RGB值。

我已经尝试过类似的事情:

var color = [143,204,211,25,35,59,204,219,209,128,135,124,38,139,216,84,106,105,205,87,114,165,175,88];
var cList = $('ul.color_palette');
            $.each(color, function(i)
            {
                var li = $('<li/>')
                    .addClass('color'+ i)
                    .css('background-color', 'rgb(' + color[i] + ')')
                    .appendTo(cList);            
            });

我希望它看起来像这样:

<ul class="color_palette">
   <li class="color0" style="background-color: rgb(143, 204, 211);"></li>
   <li class="color1" style="background-color: rgb(25, 35, 59);"></li>
   <li class="color2" style="background-color: rgb(204, 219, 209);"></li>
   <li class="color3" style="background-color: rgb(128, 135, 124);"></li>
   <li class="color4" style="background-color: rgb(38, 139, 216);"></li>
   <li class="color5" style="background-color: rgb(84, 106, 105);"></li>
   <li class="color6" style="background-color: rgb(205, 87, 114);"></li>
   <li class="color7" style="background-color: rgb(165, 174, 88);"></li>
</ul>

您能帮我吗?

jquery arrays each
1个回答
0
投票

这实际上只是对颜色数组的分块练习,以使三个值组成簇-然后可以在现有代码的迭代中使用它。

解决方案从此答案修改为另一个问题(https://stackoverflow.com/a/8495740/5867572

var color = [143,204,211,25,35,59,204,219,209,128,135,124,38,139,216,84,106,105,205,87,114,165,175,88];
var rgbValues = [];

for (i = 0; i < color.length; i += 3) {
  rgbValues.push(color.slice(i, i + 3).join(', '));
}
console.log(rgbValues); 
// gives [
//  "143, 204, 211",
//  "25, 35, 59",
//  "204, 219, 209",
//  "128, 135, 124",
//  "38, 139, 216",
//  "84, 106, 105",
//  "205, 87, 114",
//  "165, 175, 88"
//]
© www.soinside.com 2019 - 2024. All rights reserved.