获取在Object中找到的所有属性

我有一个对象数组

const data = [{id:1, a:false, b:[5,4]},
 {id:2, a:true, b:[]},
 {id:3, c:'', d:{}},
 {id:4, e:[1,2,3], f:{h: 1}}];

基本上,我试图返回一个具有对象中找到的所有属性的对象,然后给我最新的值。

所以它应该给我以下结果:

// { id: 4, a: false, b: [], c: '', d: {}, e: [1,2,3], f: {h: 1}}

我玩过 Object.getOwnPropertyNames 和 Object.values,但现在卡住了一段时间,对 JS 来说还算陌生。

回答

您可以使用简单的调用将Object.assign内部的所有对象合并data为一个对象。

Object.assign({}, ...data)
Object.assign({}, ...data)

该方法可以合并任意数量的源对象。因此,展开数组以将它们作为参数传递。由于对象是按顺序合并的,所以优先考虑后面的对象。如果一个属性存在于多个对象中,则索引较高的对象会覆盖之前的值。所以,id:4出现在输出中

这是一个片段:


以上是获取在Object中找到的所有属性的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>