JavaScript:将数组切割成三个(大致)相等的数组

时间:2014-05-11 16:53:25

标签: javascript

如何切割这样的数组:

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

成三分之一(即三个数组,如下):

[1, 2, 3]
[4, 5, 6]
[7, 8]

这是我到目前为止所得到的:

var first = a.slice(0, Math.ceil(a.length / 3));
var seconds = ???
var third = ???

2 个答案:

答案 0 :(得分:2)

这有效,但可以清理:

var m, n;
var first, second, third;    

m = Math.ceil(a.length / 3);
n = Math.ceil(2 * a.length / 3);

first = a.slice(0, m);
second = a.slice(m, n);
third = a.slice(n, a.length);

答案 1 :(得分:1)

首先,得到长度。简单明了:a.length

接下来,除以3并向向上。这将是你的作品的大小。

最后,使用a.slice()和适当的参数来获取结果数组。

使用上述算法编写一些代码,如果您有任何更具体的问题,请告诉我们:)