1

オブジェクトに追加する前に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を追加するだけです。ありがとう!

4

2 に答える 2

1

配列内のすべてのアイテムと比較する必要があり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');
于 2012-10-27T19:09:53.983 に答える
0
function checkExists(carName) {
    for (var k in a.carset.location1) {
        if (a.carset.location1[k].car == carName) {
            return true;
        }
    }

    return false;
}
于 2012-10-27T19:14:45.820 に答える