我敢打赌,这是一个非常简单的答案。
说我有一系列属性:
var array = ['green','blue','red','purple','orange','yellow','magenta'];
我如何获取此数组中的值并将它们转移到3个不同的组中? 所以它看起来像
firstGroup = green, blue, red
secondGroup = purple, orange
thirdGroup = yellow, magenta
我可以简单地创建一些使用.push函数的for循环吗?或者.push功能不能那样工作吗?
答案 0 :(得分:2)
这样的东西?
var array = ['green','blue','red','purple','orange','yellow','magenta'];
var firstGroup = array.slice(0,3);
var secondGroup = array.slice(3,5);
var thirdGroup = array.slice(5,7);
修改强>
我猜你可以这样做,因为你不想使用slice
:
var array = ['green','blue','red','purple','orange','yellow','magenta'];
var result = [];
for(var i = 0; i < array.length; i++)
{
var index = i % 3;
result[index] = result[index] || [];
result[index].push(array[i]);
}
项目的顺序与您的问题中的顺序不完全相同。这对您的解决方案有影响吗?
答案 1 :(得分:0)
创建一个新数组也可以。你可以使用&#34; slice&#34;方法
var newArray = [array.slice(0, 3), array.slice(3, 5), array.slice(5, 7)];