javascript - 将对象的元素替换为其自己的子元素之一

标签 javascript dictionary enumeration

假设我有:

let list = [{a: {b: 'foo'}}, {a: {b: 'bar'}}]

我想最终得到:

list = [{a: 'foo'}, {a: 'bar'}]

这有效:

list = list.map(d => {d.a = d.a.b; return d})

但我有一种不好的预感,认为改变值是一个坏主意。

有没有更干净的方法?我的解决方案真的有效吗?

最佳答案

您可以使用Array#forEach并就地更改对象,因为您不需要返回新数组,而您已经改变了数组的原始对象。

let list = [{ a: { b: 'foo' } }, { a: { b: 'bar' } }];

list.forEach(d => d.a = d.a.b);

console.log(list);

关于javascript - 将对象的元素替换为其自己的子元素之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45737463/

相关文章:

javascript结合数组和字典

c# - WSDL、枚举和 C# : It's still murky

reflection - Scala:如何知道一个类是否是一个枚举; isInstanceOf[Enumeration] 不起作用

java - 为多个值定义抽象类方法参数 Enum<E>

Python:如何改变字典值的子集?

javascript - 为什么我总是收到 $(...).scrollSpy is undefined 信息?

javascript - 滚动到该 div 后如何使 div 固定?

javascript - 如何使用 HTML5 Canvas 制作 3D 射击游戏?

c++ - 在 map 中存储特定范围内的值

javascript - 使用原始 jsdoc 注释生成 Typescript .d.ts 文件?