我不知道如何做我想做的事,但我想在我的例子中获取一个数组长度,即用户数量,并将该数字分成 20 组。因此,如果长度为 100,则数组最终结果将是
数组 = ['0-19'、'20-29'、'30-39'、'41-49'、'50-59'、'60-69' 等]。 这些范围是我过滤数据的方式,因为我正在做一个特殊的项目,没有其他方法可以过滤数据,因为它是根据我提供的范围返回的。但是,我不知道另一种方法来限制结果。
最佳答案
尝试
var arr = [/* array having `length` equal to or greater than 100 */]
, n = 0
, j = 20
, len = Math.ceil(arr.length / j)
, res = [];
do {
res[n] = arr.splice(0, j);
++n;
} while (res.length < len);
// do stuff with `res`
// console.log(res);
<小时/>
var text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tempor rhoncus magna at rhoncus. Curabitur egestas urna elementum, ultrices risus eget, faucibus neque. Quisque mauris nisi, porta feugiat massa vitae, tincidunt vehicula mi. Morbi egestas turpis vel odio malesuada, at rutrum ligula tempus. Etiam in blandit ante. Aliquam sit amet luctus enim. Vestibulum pellentesque lacus nec suscipit convallis. Donec sodales turpis in malesuada elementum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam efficitur, lectus a dapibus scelerisque, nisl est hendrerit sem, eu imperdiet lacus elit ac dolor. In iaculis risus quam, ut cursus tellus mollis ac. Praesent porta arcu et tellus tempus lacinia. Duis condimentum tristique ligula sit amet aliquam.";
var arr = text.split(" ")
, arr = arr.concat.apply(arr, arr);
var n = 0
, j = 20
, len = Math.ceil(arr.length / j)
, res = [];
do {
res[n] = arr.splice(0, j);
++n;
} while (res.length < len);
console.log(res);
关于javascript - 将数组长度拆分为另一个数组,作为每 20 个计数的范围插入新范围直至结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29997940/