Javascript 每3个元素的过滤器阵列

Javascript 每3个元素的过滤器阵列,javascript,Javascript,我在基于数据集创建数组时遇到困难,我希望通过每3个元素选择一个元素来过滤其中的一些元素。你能帮我做这个吗 这就是我所做的 var示例=dataset.map(函数(d){返回d.values .filter(函数(d,i){return(i+1)%3==0;})}) 数据集日志:{name:“example1”,值:Array(46)} 应用新数组后,如下所示。我在找这个[2192301239…..373] 谢谢目前,您正在尝试对数组中的每个项目运行筛选,因为您是在array.prototyp

我在基于数据集创建数组时遇到困难,我希望通过每3个元素选择一个元素来过滤其中的一些元素。你能帮我做这个吗

这就是我所做的

var示例=dataset.map(函数(d){返回d.values .filter(函数(d,i){return(i+1)%3==0;})})

数据集日志:{name:“example1”,值:Array(46)}

应用新数组后,如下所示。我在找这个[2192301239…..373]


谢谢

目前,您正在尝试对数组中的每个项目运行筛选,因为您是在
array.prototype.map
的迭代中进行筛选的。您应该首先为每三个项目筛选数组,然后在生成的数组上运行map,以避免映射值最终为
null

const data = [...]

const dataSet = data
  .filter((_, i) => i % 3 === 0)
  .map(x => x.value)
您也可以使用
Array.prototype.reduce
在同一个迭代中进行过滤和映射,如下所示:

const data = [...]

const dataSet = data.reduce((acc, curr, i) => {
  if (i % 3 === 0) acc.push(curr.value)
  return acc
}, [])

该值位于
d
变量中