通过在下一个块中仅添加1个元素来在javascript中分块数组

阿伦·库玛(Arun Kumar)

我希望将JavaScript中的数组划分为3个块。但是我只想将块增加1个元素。下面的例子:

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

所有结果数组的大小应为3。因此,只有一个元素向左滑动。

我有以下代码将数组分为3个块:

_.chunk($scope.substituteItems, 3);

此代码将数组划分为:[1,2,3,4,5,6,7,8] => [1,2,3],[3,4,5],[5,6,7], [8]

显然,这段代码只是将数组分成相等的块,这不是我想要的。

埃迪

您可以reduce()用来遍历数组。用于slice()将数组浅复制到块中。

let arr = [1, 2, 3, 4, 5, 6, 7, 8];
let numOfChunk = 3;

let result = arr.reduce((c, v, i, a) => {
  if (i + numOfChunk <= a.length) c.push(a.slice(i, i + numOfChunk));
  return c;
}, [])


console.log(result);


如果您更喜欢一行代码,也可以使用concat()代替push()

let arr = [1, 2, 3, 4, 5, 6, 7, 8];
let numOfChunk = 3;

let result = arr.reduce((c, v, i, a) => i + numOfChunk <= a.length ? c.concat([a.slice(i, i + numOfChunk)]) : c, [])

console.log(result);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过在前一个数组的末尾存储下一个元素来扩展数组

如何使用 ID 数组中的元素来显示数组外的下一个元素同级?

检查数组中的下一个'false'元素

PHP变量(全局)在下一个代码块中似乎变为NULL

将块中的元素一个下一个地移动

如何从javascript或lodash中的数组中删除所有下一个元素

for 中的下一个元素

在下一个数组中查找要替换的对象数组

添加下一个按钮以循环浏览 javascript 中的元素

在循环内检查数组是否具有Javascript / QML中的下一个元素

Python检查列表中是否存在下一个元素

如何在下一个ul中添加和删除类?

jQuery在下一个元素内选择一个嵌套元素

在下一个 js 后端的数组中解构对象

如何获取数组中的下一个和上一个元素,Ruby

抓取数组中的上一个和下一个元素

php数组块与数组的下一个元素

如果在下一个div中超出内容,如何将内容添加到下一个div

在下一个子列表中添加新元素,具体取决于它是否已添加(也涉及字典问题)python

如何确保一个脚本块在下一个块之前先运行?

如何使用 JavaScript 在下一个时间字段中增加一个小时

Javascript下一个,上一个,数组中的随机数

通过单击按钮专注于下一个元素

在下一个开始之前等待上一个承诺的Javascript Map?

在下一个先前单击的jQuery上滑动div块

如何从数组中获取下一个和前五个元素?

指向数组下一个元素的指针

获取下一个数组元素

通过JavaScript数组并获取下一个数组索引值