javascript - 如何在 JavaScript 中组合和分组数组

标签 javascript arrays

所以我正在获取值,我想将它们放入数组中:

    var values = {25,23,21}
    var unit = {PCS,KG,PCS}

当我将它们放入数组中时,我希望它是这样的

    array = {25:PCS,23:KG,21:PCS}

根据单位对它们进行分组和添加,最终结果将是这样的

    totalval = {46:PCS,23:KG}

我只能将这些值放入单独的数组中,但我不知道如何将它们组合和分组..

最佳答案

https://jsfiddle.net/wyh5a2h2/

我重新组织了你的代码,所以它有点道理,并想出了这个:希望它适合你想要做的事情:

var items = [
    {value: 25, unit: 'PCS'},
    {value: 23, unit: 'KG'},
    {value: 21, unit: 'PCS'},
]

var numPCS = 0, numKG = 0;
var result = [];

items.forEach(function(elem, index) {
    if(elem.unit==='PCS') {
        numPCS+=elem.value;
    }
    if(elem.unit==='KG') {
        numKG+=elem.value;
    }
});

result.push({value: numPCS, unit: 'PCS'});
result.push({value: numKG, unit: 'KG'});

console.log(result);

结果如下:

enter image description here

关于javascript - 如何在 JavaScript 中组合和分组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33273249/

相关文章:

javascript - .splice() 从数组中移除 2 个对象而不是 1 个

javascript - Highcharts - 散点图标记悬停状态持续时间过长

javascript - 单击按钮时如何更新 fullcalendar 5 中的事件?

python - 快速选择范围内一定百分比的元素

javascript - JS 和其他语言的较短比较

javascript - 过滤 HTML 内容?

javascript - 范围错误 : invalid array length

java - 有没有办法在多个列表中找到共同的元素?

php 网址 explode

java - Android java.lang.OutOfMemoryError 仅适用于三星设备