オブジェクトの2つの配列をマージします。キーは同じですが、値が必ずしも同じではない場合があります。同じキーを持つオブジェクトの2つの配列をマージしますが、一部のオブジェクトは同じ値を持たないでしょうか?
すべての解決策はjavascriptでお勧めできますが、Pythonソリューションでも問題はありません。ここで
はサンプルデータです:
var g= [
{ id: 36, name: 'AAA', goal: 'yes' , 'random':27},
{ id: 40, name: 'BBB', goal: 'yes' },
{ id: 39, name: 'JJJ', goal: 'yes' },
{ id: 27, name: 'CCC', goal: 'yes' , lag: "23.3343"}];
var c= [
{ id: 36, name: 'AAA', goal: 'yes', color:"purple" },
{ id: 40, name: 'BBB', circle: 'yes', color:"purple" },
{ id: 100, name: 'JJJ', circle: 'yes'} ];
私の予想出力は次のようになります。
var finalData = [{
{ id: 36, name: 'AAA', goal: 'yes' ,'random':27, color:"purple"},
{ id: 40, name: 'BBB', circle: 'yes', color:"purple"},
{ id: 39, name: 'JJJ', goal: 'yes' },
{ id: 27, name: 'CCC', goal: 'yes' ,lag: "23.3343"},
{ id: 100, name: 'JJJ', circle: 'yes' }
}]
ここに私の現在のコードで、「それはある程度動作しますが、それはdoesnの削除したキーを追加しないでください。
var finalData = [];
for(var i in g){
var shared = false;
for (var j in c)
if (c[j].name == g[i].name) {
shared = true;
break;
}
if(!shared) finalData.push(g[i])
}
finalData = finalData.concat(c);
finalData
「キー」には「ゴール」と同じキーがありますか? – Nishant
[オブジェクトの2つの配列をマージする]の可能な複製(https://stackoverflow.com/questions/7146217/merge-2-arrays-of-objects) – Nishant