gpt4 book ai didi

javascript - 我如何一次循环遍历 2 个数组并将数组中的颜色分配给另一个数组的每个值

转载 作者:行者123 更新时间:2023-11-30 15:15:49 24 4
gpt4 key购买 nike

我有 2 个数组。一个是颜色数组,另一个是对象(项)数组。

我想将第一个数组中的颜色分配给第二个数组中的每个对象。

数组一:

var colours = ["#5cbae6", "#b6d957", "#fac364"];

第二个数组:

var items = [ itemOne, itemTwo, itemThree, itemFour, itemFive , itemSix.. ];

项目取决于用户。用户可以提供一个项目或 30 个项目。因此,在某些情况下,颜色会少于项目,而在某些情况下,它们会更多。

我想要的是遍历“items”数组并为每个项目分配数组“colours”中的颜色

例子:

item one = 5cbae6
item two = b6d957
item three = fac364
item four = 5cbae6

一旦分配了最后一种颜色,我们应该回到第一种颜色并分配,直到所有“项目”都具有一种颜色。

伪代码:

for each object in items 循环遍历数组颜色并为项目分配一种颜色。当达到第三种颜色时,从第一种颜色重新开始。每个项目都有一个属性“setColor”,需要“颜色”的值

提前致谢。

最佳答案

使用 forEach遍历 items大批。 forEach提供当前项目的索引 item ,将该索引与 % 一起使用(modulo 运算符)获取等效颜色的索引:

items.forEach(function(item, index) {
item.setColor( colours[ index % colours.length ] );
});

模运算符说明:

items.length10colours.length3 :

index === 0   =>   index % colours.length === 0 % 3 === 0   =>   first colour
index === 1 => index % colours.length === 1 % 3 === 1 => second colour
index === 2 => index % colours.length === 2 % 3 === 2 => third colour
index === 3 => index % colours.length === 3 % 3 === 0 => first colour
index === 4 => index % colours.length === 4 % 3 === 1 => second colour
index === 5 => index % colours.length === 5 % 3 === 2 => third colour
index === 6 => index % colours.length === 6 % 3 === 0 => first colour
index === 7 => index % colours.length === 7 % 3 === 1 => second colour
index === 8 => index % colours.length === 8 % 3 === 2 => third colour
index === 9 => index % colours.length === 9 % 3 === 0 => first colour

m % n < n两个mn是整数,n != 0 .

关于javascript - 我如何一次循环遍历 2 个数组并将数组中的颜色分配给另一个数组的每个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44481654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com