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

Node.js中如何删除JSON对象内符合指定条件的嵌套子对象

实现方法

你可以用数组的filter方法完成过滤需求,以下是两种常用实现方案:

方案1:不修改原对象,生成新的过滤后对象

这种方式不会改动原始JSON数据,适合需要保留原数据的场景:

const filteredJson = {
  ...jsonObj,
  clips: jsonObj.clips.map(clip => ({
    ...clip,
    layers: clip.layers.filter(layer => layer.path !== '***vendor**logo*0')
  }))
};

方案2:直接修改原对象

如果可以直接改动原JSON对象,直接遍历修改每一层的layers属性即可:

jsonObj.clips.forEach(clip => {
  // 过滤掉符合条件的layer,直接覆盖原layers数组
  clip.layers = clip.layers.filter(layer => layer.path !== '***vendor**logo*0');
});

补充说明

你原有代码里使用map方法是不合适的,map主要用来对数组元素做映射转换返回新数组,做过滤逻辑直接用filter更符合语义也更简洁。另外你原有内层map的参数声明存在语法错误,少了参数的闭合括号,实际运行会报错。

内容的提问来源于stack exchange,提问作者Süleyman Ali Akpınar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:54:03