一个数组下有重复的值,希望去重后 计算相同值的累加数
如: var arr = [{id: 1}, {id: 2}, {id: 3}, {id: 1}, {id: 1}]
希望返回的值是: [{id: 1} * 3, {id: 2}, {id: 3}]
请忽略 *3 的语法,, 只是希望达成这样的效果.现求教好的解决方法.
说下要求的案例: 多个项目, 项目有可能存在相同的值.有则合成一个. 并给出相同值的项目合成次数()?
一个数组下有重复的值,希望去重后 计算相同值的累加数
如: var arr = [{id: 1}, {id: 2}, {id: 3}, {id: 1}, {id: 1}]
希望返回的值是: [{id: 1} * 3, {id: 2}, {id: 3}]
请忽略 *3 的语法,, 只是希望达成这样的效果.现求教好的解决方法.
说下要求的案例: 多个项目, 项目有可能存在相同的值.有则合成一个. 并给出相同值的项目合成次数()?
var arr = [
{id:"11111111"},
{id:"22222222"},
{id:"22222222"},
{id:"22222222"},
{id:"33333333"},
{id:"11111111"},
{id:"11111111"},
{id:"33333333"},
{id:"11111111"},
{id:"11111111"},
];
var hash = {};
arr = arr.reduce(function(item, next) {
if(hash[next.id]){
item.map((e,i)=>{
next.id == e.id ? item[i].sum++ :""
})
}else{
next.sum = 1;
hash[next.id] = true && item.push(next);
}
return item
}, [])
console.log(arr);
// 题基本都一样 就不改了
13 回答12.7k 阅读
7 回答1.8k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答775 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
这种格式,ok 吗。