我有一個api調用,它使用更新的jSON對象進行回覆,我也有1個靜態json對象文件。我正試圖比較每個團隊中具有相同名稱的對象中的值。JavaScript/jQuery:比較2個jSON對象並將結果輸出到新對象
因此,如果團隊約翰在舊文件中有22個,並且現在有28個,那麼新對象應該將Team John輸出爲6.減去2並顯示差異。
我做了一個jsFiddle來幫助理解和更新。
最新更新:答案已被mscdeveloper解決!檢查他的帖子並在下面回答。
UPDATE(未回答):我已經找到了解決方案,同時在計算器搜索,這不正是我想要的,但我在這個過程中失去了球隊的名字,我怎麼能修復代碼到它doesn不會刪除它,我知道它與我有的groupByTypeID函數有關係嗎?
更新的jsfiddle:https://jsfiddle.net/kqmfsz9n/5/
var obj1 = {
"teams": [
{
name: 'Test 1',
numMembers: '50'
},
{
name: 'Test 2',
numMembers: '12'
}
]
};
var obj2 = {
"teams": [
{
name: 'Test 1',
numMembers: '75'
},
{
name: 'Test 2',
numMembers: '18'
}
]
};
var newObj = {};
function groupByTypeID(arr) {
var groupBy = {};
jQuery.each(arr, function() {
groupBy[this.name] = parseInt(this.numMembers);
});
return groupBy;
}
var userArrayGroups = groupByTypeID(obj2.teams);
var origArrayGroups = groupByTypeID(obj1.teams);
var newObj = [];
for (var prop in userArrayGroups) {
newObj[prop] = userArrayGroups[prop] - origArrayGroups[prop];
newObj.push(userArrayGroups[prop] - origArrayGroups[prop]);
if (newObj[prop] == 0) {
delete newObj[prop];
}
}
console.log(newObj);
所有幫助表示讚賞! 謝謝。
那其他類型的? (字符串,日期,數組,......) –
因爲** JSON是一種字符串格式**所有你需要做的就是用'==='.of你的兩個JSON字符串進行字符串比較。除非你不是在談論JSON,但那就是你所說的...... –
哇這麼多投票權爲了什麼?我試圖讓這個問題得到解決,但是現在人們沒有理由不理解爲什麼沒有任何理由就投下任何東西。 我所有的只是一個簡單的問題,如果我想從obj1減去numMembers與obj2 numMembers,我會怎麼做呢? –