每12个项目在数组中添加元素

戈戈扎尔

你最好如何[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]变成[12,12]

基本上每12个项目将一个数组简化为一个聚合。

这是我不太优雅的尝试:

let arr = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
let result = 0;
let finalArr = [];

arr.forEach((item,index) => {
   result += item;
   if((index+1) % 12 === 0) {
       finalArr.push(result)
       result = 0
   }
})

可以更优雅地做到这一点吗?也许使用reduce()我已经有一段时间没有使用js了,所以我有点生锈!提前致谢。

马皮
function reduceGroupByN(arr, count, fn) {
  const out = []

  if (count <= 1) throw new Error("Grouping must be greater than 1")

  for (var last = 0; last < arr.length; last += count) {
    out.push(arr.slice(last, last + count).reduce(fn))
  }

  return out
}

const arr = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]

const result = reduceGroupByN(arr, 12, (a, b) => a + b)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在数组中添加元素

使用 xslt 在数组中动态添加元素

递归函数以在数组中添加元素

在数组的负索引中添加元素?

PHP:在foreach循环中在数组中添加元素

如何使用javascript函数在数组中添加元素

如何每x个项目在数组中添加一个项目?

js:在数组的开头添加元素

如何基于R中另一个数组的信息在数组中添加元素?

过滤数组中的项目 - 在 JSON 中添加元素

在数组中添加元素将不接受相似元素

bash:在数组的每个元素之前添加元素

bash-在数组中的每个项目之前添加一个元素

我想在数组中添加元素时遇到Angular问题

如何以最有效的方式在数组中添加元素?

使用拼接Java脚本在数组中增量添加元素

在数组中添加元素。线程/模拟器问题?

jQuery添加元素,如果在数组中找不到

如何在数组末尾添加元素?

在数组的开头添加元素,在numpy的末尾删除

为数组中的每 12 个项目添加一个 className 跳过前 14 个项目和最后 14 个项目?

在Swift中向数组添加元素

向数组中添加元素会创建一个新数组,而不是添加

JavaFX 如何添加元素,例如。从存储在数据库 Mysql 中的项目动态创建的按钮?

在关联数组中的元素内添加元素

在numpy数组python中的每个元素之后添加元素

向数组添加元素

如何在嵌套在Mongoose中另一个数组中的数组中添加元素?

在mongodb集合中的数组中添加元素