我有一个对象数组,它们应该都有相同的键,但某些键缺失。我想用通用值填充缺失的键。
我正在寻找一种简单的方法来实现这个目标(本地或通过库),我现在使用的代码可以工作,但是对于我这个不熟练的人来说看起来非常复杂,我确信我重新发明了一种繁琐的方法来做事情,而实际上有一个简单的方法。
我正在寻找一种简单的方法来实现这个目标(本地或通过库),我现在使用的代码可以工作,但是对于我这个不熟练的人来说看起来非常复杂,我确信我重新发明了一种繁琐的方法来做事情,而实际上有一个简单的方法。
var arr = [{
"a": 1,
"b": 2,
"c": 3
},
{
"a": 10,
"c": 30
},
{
"b": 200,
"c": 300
},
]
// get the list of all keys
var allkeys = []
arr.forEach((objInArr) => {
allkeys = allkeys.concat(Object.keys(objInArr))
})
// check all arr entries for missing keys
arr.forEach((objInArr, i) => {
allkeys.forEach((key) => {
if (objInArr[key] === undefined) {
// the generic value, in this case 0
arr[i][key] = 0
}
})
})
console.log(arr)
["a", "b", "c", "a", "c", "b", "c"]
,但实际上应该是["a", "b", "c"]
。 - Cristian Lupascu