我试图找到最快的方法来解析大量对象并为每个对象获取唯一值。 我要解析的数组有90000个巨大的对象,其中包含很多键。最好的方法是什么?这是一个示例:
const collection = [
{
value1: 1,
value2: 3,
...
},
{
value1: 4,
value2: 3,
...
}
]
至:
const result = {
value1: [1, 4],
value2: [3],
...
}
谢谢。
答案 0 :(得分:0)
尝试使用Array#reduce
a
对象unique values
,使用indexOf验证数组
const collection = [{value1: 1,value2: 3,},{ value1: 4,value2: 3,}];
$res = collection.reduce(function(a,b){
Object.keys(b).forEach(function(i,k){
a[i] = a[i]||[];
if(a[i].indexOf(b[i]) == -1){
a[i].push(b[i])
}
})
return a
},{})
console.log($res)
答案 1 :(得分:0)
const collection = [
{
value1: 1,
value2: 3,
},
{
value1: 4,
value2: 3,
value3: "wowo"
}
]
const ans = {}
collection.forEach(itm => {
for(var propertyName in itm) {
console.log("item",propertyName)
ans[propertyName] = ans[propertyName] || []
ans[propertyName].push(itm[propertyName])
}
})
console.log(ans)