Şu anda 2 obj var ve jquery extend işlevini kullanıyorum, ancak aynı ada sahip tuşlardan değeri geçersiz kılıyor. Bunun yerine değerleri nasıl bir araya getirebilirim?Aynı ada sahip anahtarlardan birlikte sayısal değerler ekleyerek 2 nesneyi nasıl.
var obj1 = {
"orange": 2,
"apple": 1,
"grape": 1
};
var obj2 = {
"orange": 5,
"apple": 1,
"banana": 1
};
mergedObj = $.extend({}, obj1, obj2);
var printObj = typeof JSON != "undefined" ? JSON.stringify : function (obj) {
var arr = [];
$.each(obj, function (key, val) {
var next = key + ": ";
next += $.isPlainObject(val) ? printObj(val) : val;
arr.push(next);
});
return "{ " + arr.join(", ") + " }";
};
console.log('all together: ' + printObj(mergedObj));
Ve ben gerekenler
obj1 = {"orange":5,"apple":1, "grape":1, "banana":1}
olsun tüm $.extend
yapar obj1 = {"orange":7,"apple":2, "grape":1, "banana":1}
Çok güzel, düz JS de beğeniyorum! –
Eğer jquery işlevselliği ile biraz eşleştirmek istiyorsanız, etkili bir şekilde (yukarıdaki kodunuzu kullanarak) 'mergedObject = arguments [0] || {} ' –
@anthony Teşekkürler, kesinlikle bunu yapmanın daha verimli bir yolu, yukarıdaki kodumu güncelledim :) – nbrooks