js 组对象中相同属性值求和,(数值相加,数组重组)
Posted 希儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 组对象中相同属性值求和,(数值相加,数组重组)相关的知识,希望对你有一定的参考价值。
1、需求
数组对象中相同属性值求和,(数值相加,数组重组)
2、案例
let a=[{
"id": 1,
"sahib": 1,
"child": 2,
"age": [3,1],
"index": 0
},{
"sahib": 2,
"age": [],
"child": 0,
"id": 2
}
]
let res = a.reduce((result, next)=>{
if(!result) result = {}
Object.keys(next).forEach((key)=>{
//数值类型
if(typeof next[key] == \'number\'){
result[key] = (result[key]?result[key]:0) + next[key]
}
//数组类型
if(next[key] instanceof Array){
result[key] = (result[key]?result[key]:[]).concat(next[key])
}
})
return result
})
console.log(res)
//结果
{
age: [3, 1],
child: 2,
id: 3,
index: 0,
sahib: 3
}
声明:此博客为个人学习之用,如与其他作品雷同,纯属巧合,并请明示指出
以上是关于js 组对象中相同属性值求和,(数值相加,数组重组)的主要内容,如果未能解决你的问题,请参考以下文章