假设我有:
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/