javascript - 克隆对象省略嵌套属性

标签 javascript

我想复制现有对象并省略一些属性。有没有一种简单的 es6+ 方法可以删除以下结构的嵌套栏键?

  someObj = { 
    someList: [
      { foo:'1', bar:'x', /*etc could be more values*/ },
      { foo:'2', bar:'x', /*etc could be more values*/ },
      { foo:'3', bar:'x', /*etc could be more values*/ },
    ],
    otherPropOne: '',
    anotherProp: [],
    //etc
  }

最佳答案

制作深拷贝并删除不需要的字段

let clone = JSON.parse(JSON.stringify(someObj)); 
clone.someList.forEach(x=> delete x.bar);

let someObj = { 
    someList: [
      { foo:'1', bar:'x',  },
      { foo:'2', bar:'x',  },
      { foo:'3', bar:'x',  },
    ],
    otherPropOne: '',
    anotherProp: [],
    //etc
  }
  
let clone = JSON.parse(JSON.stringify(someObj)); 
clone.someList.forEach(x=> delete x.bar);

console.log(clone);

关于javascript - 克隆对象省略嵌套属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57580515/

相关文章:

javascript - 如果没有 HTML 属性则隐藏 div

javascript - chrome 的 document.hasFocus()

javascript - React 中数据属性的通用解决方案

javascript - 当网站 URL 输入搜索框(而不是提要 url)时,像 feedly 这样的服务如何从网站获取 rss 提要

javascript - 我尝试运行命令 "npm run start ",它在 React js 中显示此错误

javascript - jquery ajax到文件://not working in IE

javascript - JavaScript 中的用户 session 跟踪?

javascript - AngularJs 和 Javascript 嵌套函数及其调用

javascript - 更新 Bootstrap 日期范围日期选择器以仅允许结束日期在开始日期的会计年度内

javascript - 命名空间外部 Javascript 无法从目标 javascript 访问