更新されたjSONオブジェクトで応答するAPIコールがあります。また、1つの静的なjSONオブジェクトファイルもあります。私は同じ名前のチームごとにオブジェクトの値を比較しようとしています。JavaScript/jQuery:2つのjSONオブジェクトを比較し、結果を新しいオブジェクトに出力します。
チームジョンが古いファイルに22を持ち、現在28がある場合、新しいオブジェクトはチームジョンを6として出力する必要があります.2を差し引いて差分を表示します。
私はjsFiddleを理解して更新するのに役立てました。
最新の更新:答えはmscdeveloperによって解決されました!下の彼の投稿と答えを確認してください。
UPDATE(ない答え): stackoverflowの中で検索しているときに私は解決策を発見した、これは私が欲しいまさにんが、私はそれはdoesnのどこにコードを修正することができますどのように、プロセスにチームの名前を失いましたそれを削除しないで、私はそれが私が持っているgroupByTypeID関数と関係があることを知っていますか?すべてのヘルプは高く評価され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);
:
はjsFiddleを更新しました! ありがとうございます。
他にはどんなでしょうか? (文字列、日付、配列など) –
** JSONは文字列形式なので、2つのJSON文字列の '==='。との文字列比較が必要です。あなたがJSONについて話していない限り、それはあなたが言うことです... –
何のためにすごく多くの投票ダウン?私はこれを解決しようとしていますが、最近人々は理由を理解するのを助けることなく、何の理由もないのに投票します。 私はobj2 numMembersでobj1からnumMembersを減算したい場合、簡単な質問をしましたが、これについてはどうすればよいですか? –