Javascript 基于键比较添加JSON值

Javascript 基于键比较添加JSON值,javascript,json,for-loop,Javascript,Json,For Loop,我想在附加到对象之前比较JSON对象中键的值,如果它们相同,则添加值而不是附加值 我有: {"carset": { "location1": [ {"car": "volvo", "count": 5}, {"car": "mazda", "count": 7}, {"car": "toyota", "count": 10},

我想在附加到对象之前比较JSON对象中键的值,如果它们相同,则添加值而不是附加值

我有:

 {"carset": {
          "location1": [
                      {"car": "volvo", "count": 5},
                      {"car": "mazda", "count": 7},
                      {"car": "toyota", "count": 10},
                     ]
             }
  }
当我在for循环中点击这个时:

newcar = 'volvo';
newcount = 6;
cars[i] = ({car: newcar, count: newcount});

我想注意到volvo已经在json对象中,只需将newcount添加到现有的count中。谢谢

您需要与
location1
数组中的所有项进行比较,或者您可以重新构造JSON以使比较更容易

json = {
 'carset' : {
    'location-cars' : {
      'volvo'  : 5,
      'mazda'  : 7,
      'toyota' : 10
    }
  }
}

function addCar(cars, car) {
  var theCar = cars[car];
   if ( theCar == undefined ) {
      cars[car] = 1;
   } else {
      cars[car] = theCar + 1;
   }
   return cars[car];
}

addCar(json.carset['location-cars'], 'volvo');

您需要与
location1
数组中的所有项进行比较,或者您可以重新构造JSON以使比较更容易

json = {
 'carset' : {
    'location-cars' : {
      'volvo'  : 5,
      'mazda'  : 7,
      'toyota' : 10
    }
  }
}

function addCar(cars, car) {
  var theCar = cars[car];
   if ( theCar == undefined ) {
      cars[car] = 1;
   } else {
      cars[car] = theCar + 1;
   }
   return cars[car];
}

addCar(json.carset['location-cars'], 'volvo');

... 您的问题与JSON无关。。。你的问题与JSON无关。这是为了帮助shyam。我按照上述要求进行了重组。我现在怎么做比较和添加呢?这是为了你的帮助shyam。我按照上述要求进行了重组。现在如何进行比较和添加?