假设我有三种颜色的数组:
['blue', 'green', 'red']
我有一堆帽子:
['fedora', 'bowler', 'top hat', '10 gallon']
如何为每个帽子指定一种颜色,当我从一开始就用尽了颜色?那样:
fedora = blue
bowler = green
top hat = red
10 gallon = blue
答案 0 :(得分:0)
穿过帽子。在循环中,您可以使用remainder operator %
(类似于" modulo"运算符在其他语言中)为每个color
索引获取正确的hat
索引。
var hats = ['fedora', 'bowler', 'top hat', '10 gallon'],
colors = ['blue', 'green', 'red'];
for (var i = 0; i < hats.length; i++) {
var hat = hats[i]; // this would be hats[0], then [1], [2], [3], [4], ...
var color = colors[i % colors.length]; // this would be colors[0], then [1], [2], [0], [1], ...
console.log(hat + ' = ' + color);
}
当i
除以colors.length
时,运算符会提供余数。对于i = 0, 1, 2, 3, 4, 5, ...
,i % colors.length
将是0, 1, 2, 0, 1, 2, ...
(即当您将i
除以3时剩余的数量),这是您所需要的。
答案 1 :(得分:0)
假设最长的数组长度= 4,最短= 3
然后使用4作为循环大的索引,并使用index % 3
作为最短的索引。