我创建了一个对象,如果在对象中复制了键,则想要对数值求和
var obj = {
"orange": 1,
"apple": 1,
"grape": 1,
"orange": 1
};
输出应该是
obj = { "orange": 2, "apple": 1, "grape": 1 }
答案 0 :(得分:0)
你可以使用类似的东西:
BugOfThings = function() {}
BugOfThings.prototype.add = function(thing, count) {
count = count || 1;
this[thing] = (this[thing] || 0) + count;
}
var bug = new BugOfThings();
bug.add("orange", 1);
bug.add("apple", 1);
bug.add("grape", 1);
bug.add("orange", 1);
但在这种情况下,输出将包含添加字段
答案 1 :(得分:0)
我找到了解决方案:
var tagSelected = [{ "orange": 1, "apple": 1, "grape": 1, "orange": 1 }];
var tagSelectedTotal = [];
$.each(tagSelected, function() {
var fount = false;
var tag = this;
$.each(tagSelectedTotal, function() {
if( this.name == tag.name ) {
this.value = parseInt(this.value) + parseInt(tag.value);
found = true;
return false;
}
});
if( !found ) {
tagSelectedTotal.push( tag );
}
});
答案 2 :(得分:-1)
{ "orange": 1, "apple": 1, "grape": 1, "orange": 1 }
这是不可能的(非法?)在 JSON JS我想。
的 JSON IS NOT JS
只会输出
{ "orange": 1, "apple": 1, "grape": 1}
所以基本上你的问题无法回答。