我想在追加到对象之前比较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中。谢谢!
答案 0 :(得分: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');
答案 1 :(得分:0)
function checkExists(carName) {
for (var k in a.carset.location1) {
if (a.carset.location1[k].car == carName) {
return true;
}
}
return false;
}