1

我敢打赌这是一个超级简单的答案。

假设我有一组属性:

  var array = ['green','blue','red','purple','orange','yellow','magenta'];

我将如何获取这个数组中的值并将它们转移到 3 个不同的组中?所以它看起来像

  firstGroup = green, blue, red
  secondGroup = purple, orange
  thirdGroup = yellow, magenta

我可以简单地创建某种使用 .push 函数的 for 循环吗?还是 .push 函数不能那样工作?

4

2 回答 2

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]);    
}

项目的顺序与您的问题不完全相同。这对您的解决方案有影响吗?

于 2013-11-13T03:23:31.533 回答
0

创建一个新数组也可以。您可以使用“切片”方法。

var newArray = [array.slice(0, 3), array.slice(3, 5), array.slice(5, 7)];
于 2013-11-13T03:29:10.737 回答