You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何过滤嵌套数组中内层values数组的间隔元素(D3.js开发)

过滤D3折线图内层values数组的间隔元素

你需要遍历外层的slices数组,对每个对象中的values子数组单独做过滤,而非过滤外层数组本身。可以通过以下两种方式实现:

方式一:生成新数组(不修改原数据)

使用map遍历slices,复制每个对象的原有属性(比如id),同时替换values为过滤后的数组:

const filteredSlices = slices.map(slice => ({
  ...slice,
  values: slice.values.filter((d, i) => i % 3 === 1)
}));

方式二:直接修改原数组

如果不需要保留原数据,可以用forEach直接更新每个对象的values属性:

slices.forEach(slice => {
  slice.values = slice.values.filter((d, i) => i % 3 === 1);
});

以上代码中的i % 3 === 1会保留values数组中索引为1、4、7...的元素(每3个元素保留第2个,索引从0开始),你可以根据需求调整这个条件(比如要保留每3个里的第1个就改成i % 3 === 0)。

内容的提问来源于stack exchange,提问作者Mau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 19:10:31