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

JavaScript中如何删除嵌套对象数组里特定元素的指定属性

你可以通过两层遍历处理嵌套数组,外层遍历顶级数组的所有元素,内层遍历每个元素下的items子数组,匹配到type为teacher的元素后,执行属性修改或删除操作即可。


删除rollno属性

使用delete操作符删除目标属性即可,示例代码:

array.forEach(topItem => {
  topItem.items.forEach(subItem => {
    if (subItem.type === 'teacher') {
      delete subItem.rollno
    }
  })
})

运行后原数组中type为teacher的元素会移除rollno属性,其余元素不受影响。


修改rollno属性

如果需要修改为指定值(比如修改为"0"),直接给属性赋值即可:

array.forEach(topItem => {
  topItem.items.forEach(subItem => {
    if (subItem.type === 'teacher') {
      subItem.rollno = "0" // 替换为你需要的目标值即可
    }
  })
})

不改动原数组,返回新数组

如果需要避免修改原数据,可以用map方法生成新数组:

const newArray = array.map(topItem => {
  return {
    ...topItem,
    items: topItem.items.map(subItem => {
      if (subItem.type === 'teacher') {
        // 删除rollno的写法:
        const { rollno, ...rest } = subItem
        return rest
        // 如果是修改rollno,把上面两行替换为:return {...subItem, rollno: "目标值"}
      }
      return subItem
    })
  }
})

内容的提问来源于stack exchange,提问作者Engr.Aftab Ufaq

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 06:39:03