在Java循环中将数组中的值分布到三个不同的数组中?

时间:2018-07-19 18:39:49

标签: javascript arrays loops for-loop

这是一个初学者的问题。

我正在尝试将以下值分配到三个不同的数组中。

var values = [1,2,3,4,5,6,7,8];

其结果将是:[[1,4,7][2,5,8][3,6]] ...所以基本上就像连续向三个孩子分发糖果,直到糖果用完为止。我环顾四周,似乎有人问起[[1,2,3],[4,5,6],[7,8]]这样的数组块,但这有点不同。

这些是我的变量:

var values = [1,2,3,4,5,6,7,8];
var numberOfArrays = 3;
var parentArray = [];

我不知道如何开始循环播放。我是否首先遍历我的

for(var i = 0; i < values.length; i++) {
    // Code here?
}

请帮助。我不知道如何组织这种逻辑:/

1 个答案:

答案 0 :(得分:1)

您可以将reminder operator %用于右边的内部数组,并将值推入其中。

var values = [1, 2, 3, 4, 5, 6, 7, 8],
    gap = 3,
    result = values.reduce((r, v, i) => {
        r[i % gap] = r[i % gap] || [];
        r[i % gap].push(v);
        return r;    
    }, []);
    
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }