Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改地图上的值?_Javascript - Fatal编程技术网

Javascript 如何更改地图上的值?

Javascript 如何更改地图上的值?,javascript,Javascript,我想计算匹配汽车和车型的每次总和,但不使用此代码: function solve(arr) { let map = new Map(); for (let str of arr) { let [car, model, price] = str.split(' | '); if(!map.has(car)){ map.set(car, new Map()); }

我想计算匹配汽车和车型的每次总和,但不使用此代码:

function solve(arr) {
      let map = new Map();
      for (let str of arr) {
           let [car, model, price] = str.split(' | ');

           if(!map.has(car)){
              map.set(car, new Map());
           }

           if(map.get(car).get(model)){
              map.get(car).get(model += Number(price)) 
           }
           else{
              map.get(car).set(model, Number(price)); 
           }
     }
}



solve(['Mini | Clubman | 20000',
'Mini | Clubman | 43434343',
'Mini | Clubman | 1000',
'Mercedes-Benz | 60PS | 3000',
'Hyunday | Elantra GT | 20000',
'Mini | Countryman | 100',
'Mercedes-Benz | W210 | 100',
'Mercedes-Benz | W163 | 200']);

你好像在找

function solve(arr){
    const map = new Map();
    for (const str of arr) {
        const [car, model, price] = str.split(' | ');

        if (!map.has(car)) {
            map.set(car, new Map());
        }

        if (!map.get(car).has(model)) {
            map.get(car).set(model, 0);
        }

        map.get(car).set(model, map.get(car).get(model) + Number(price));
    }
}

您不能将
+=
映射
条目一起使用。

您能提供一个您输入的数据和预期结果的示例吗?@Jerodev它似乎位于代码示例的底部。格式使它很难看到。修正了格式。
.get(model+=Number(price))
毫无意义。你是说
.set(model,…get(model)+Number(price))
?很高兴能帮上忙!你可能想