首页 > 解决方案 > 在嵌套的 Map 函数中添加对象

问题描述

我在 Javascript 上构建一个函数来减少这样的数组:

   var myArray = [
    {sku: "one", price: "3"},
    {sku: "two", price: "5"},
    {sku: "one", price: "2"},
    {sku: "three", price: "3"},
    {sku: "three", price: "9"}
];

对此:

{ one: [ '3', '2' ], two: [ '5' ], three: [ '3', '9' ] }

为了对我的 skus 进行分类。它现在工作得很好。

 function itemQuantity(data) {

     let group_to_values = data.reduce(function (obj, item) {
        obj[item.sku] = obj[item.sku] || [];
        obj[item.sku].push(item.price);
        return obj;
    }, {});
    return group_to_values;
}

console.log(itemQuantity(myArray));

当我尝试修改它时,我的问题就出现了。而不是让我需要我试图添加但无法使其工作one: [ '3', '2' ]的项目数量(或数量) !{one: 2, two: 1...}obj.length

请帮忙!

标签: javascriptmultidimensional-arraynestedmapreducereducers

解决方案


推荐阅读