javascript - 删除 JSON 对象中的键但想保留原始值

标签 javascript arrays json

我正在尝试删除变量 a 中的一个键。但是,我仍然想保留原始变量值用于其他目的。但不知怎的,它总是会覆盖最初的 a。

这是我写的代码:

 let a = [
          { firstName: 'Tony', lastName: 'Stack' },
          { firstName: 'Iron', lastName: 'Man' }
        ];

        console.log('before',a);
        delete a[0].firstName;
        console.log('after',a);

输出:

enter image description here

我期望第一个 console.log 将打印出初始值。

这只是让我自己感到困惑。我觉得我一定是漏掉了一些知识。感谢任何帮助。谢谢

最佳答案

您可以像下面一样使用 map 和展开运算符

let a = [
          { firstName: 'Tony', lastName: 'Stack' },
          { firstName: 'Iron', lastName: 'Man' }
        ];
        
let removed = a.map(({firstName, ...lastName}) => lastName);

console.log('before:',a)
console.log('after:', removed)

关于javascript - 删除 JSON 对象中的键但想保留原始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55961323/

相关文章:

javascript - 通过 JavaScript 提交更新的 ng-model

javascript - 如何使用电子邮件获取gmail用户的个人资料图片

javascript - 为什么我看不到 Google 和 Facebook 等大型网站的 HTML 源代码?

javascript - 如何使用ajax接收到的数据?

json - 使用 Scala 在 Spark DataFrame 中重用来自 JSON 的模式

json - 在 Wildfly 上激活 JaxbAnnotationModule

javascript - 将数据(prop)从 _app.js 传递到页面中的 getServerSideProps - NextJS,最新版本

java - 在方法参数中初始化数组

c++ - 指向数据成员的指针数组

json - 使用 jQuery 发布 json 来表达