gpt4 book ai didi

javascript - 根据键总计/合并 JavaScript 值

转载 作者:行者123 更新时间:2023-11-28 05:32:04 24 4
gpt4 key购买 nike

我有一个 JavaScript 数组,我使用 jQuery 在表中显示值

for (var i = 0; i < data.MyArray.length; i++) {    
$('#my-table').append('<tr><td>' + data.MyArray[i].DisplayGroup + '</td><td>' + data.MyArray[i].Value + '%<td></tr>');
}

我想在显示值之前根据 DisplayGroup 对值进行“分组”

如果我的数组包含

DisplayGroup: ABC Value: 5
DisplayGroup: DEF Value: 3
DisplayGroup: ABC Value: 6
DisplayGroup: GHI Value: 2

我想对重复的 DisplayGroup 条目进行总计(在此示例中为 ABC),以便显示

ABC 11
DEF 3
GHI 2

有没有办法迭代数组并创建一个新数组然后使用?

最佳答案

var array = [{
DisplayGroup: 'ABC',
Value: 5
}, {
DisplayGroup: 'DEF',
Value: 3
}, {
DisplayGroup: 'ABC',
Value: 6
}, {
DisplayGroup: 'GHI',
Value: 2
}];


Array.prototype.groupBy = function( key,value){
var newArray = []
var temp = []
this.filter((c,i,a)=> {
var ob = {}
if(temp.indexOf(c[key]) == -1){
ob[c[key]] = c[value] ;
newArray.push(ob)
temp.push(c[key]);
}
else{
newArray.filter((e)=> {
if(e[c[key]]){
e[c[key]] = e[c[key]] + c[value]
}
});
}
})
return newArray;
}


console.log(array.groupBy('DisplayGroup','Value'))

关于javascript - 根据键总计/合并 JavaScript 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39609225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com