Erste JSON in EingangsWie fusionieren I 2 json dieser Art in Javascript
var obj1 = [{ "name":"manu", "age":23, "occupation":"SE" }, { "name":"test", "age":22, "occupation":"TE" } ];
Zweite JSON in Eingangs
var obj2 = [{ "age":23, "name":"manu", "gender":"male" }, { "age":22, "name":"test", "gender":"male" } ];
JSON nach erforderlich Resultierende Verschmelzung
var result = [{ "name":"manu", "age":23, "occupation":"SE", "gender":"male" }, { "name":"test", "age":22, "occupation":"TE", "gender":"male" } ];
finden Sie in der Anordnung, in der Schlüssel in JSON angeordnet sind
- Sie sind nicht in derselben Reihenfolge (Alter und Name) Schlüssel in Objekt
-1
A
Antwort
1
Sie einen speziellen Rückruf der für die Zusammenführung verwenden könnte Arrays zu einem neuen result
mit der passenden key
und allen anderen Eigenschaften.
function mergeTo(target, key) {
var ref = Object.create(null);
return function (o) {
if (!ref[o[key]]) {
ref[o[key]] = {};
target.push(ref[o[key]]);
}
Object.keys(o).forEach(function (k) {
ref[o[key]][k] = o[k];
});
};
}
var obj1 = [{ "name": "manu", "age": 23, "occupation": "SE" }, { "name": "test", "age": 22, "occupation": "TE" }],
obj2 = [{ "age": 23, "name": "manu", "gender": "male" }, { "age": 22, "name": "test", "gender": "male" }],
result = [],
merge = mergeTo(result, 'name');
obj1.forEach(merge);
obj2.forEach(merge);
console.log(result);
0
Sie haben zwei Arrays, wobei jeder Index in dem Array ein Objekt ist. Wenn die Array-Indizes zusammenpassen, wie in Ihrem Beispiel, dann einfach loopen und zuweisen.
var length = obj1.length;
for(var idx = 0; idx < length; idx++)
{
var tmpObj = obj2[ idx ];
Object.keys(tmpObj).forEach(function(key,index)
{
// key: the name of the object key
// index: the ordinal position of the key within the object
// create new object property based upon the variable key
// and assign it the corresponding value from obj2
obj1[ idx ][ key ] = tmpObj.key;
});
}
Verwandte Themen
- 1. Wie gehe ich mit dieser Art von Bedingung in Javascript
- 2. Wie mit dieser Art von Protokoll enthält json
- 3. Javascript obejct fusionieren + hinzufügen Algorithmus
- 4. fusionieren querysets in django
- 5. Was bedeutet dieser Codeblock [=, & i]() veränderbar {}()?
- 6. fusionieren zwei JavaScript-Objekte mit Priorität
- 7. Wie fusionieren zwei Objektwerte durch Tasten
- 8. Javascript Objektliteral. Objekt [i] .variable
- 9. Wie ergibt sich für (int i = 5; i <= 2 * n; i ++) in der Algorithmusanalyse?
- 10. wie zwei Tabellen in postgresql fusionieren
- 11. , wie diese Art von JSON-Array analysieren
- 12. Mysql fusionieren 2 Count-Abfrage in einer Abfrage
- 13. Regex Sie einfach dieser Art heraus off ""
- 14. Wie verwendet man CSS-Sprites in dieser Art von Menü?
- 15. i cant die json Daten
- 16. Wie schreibt dieser JavaScript-Code?
- 17. Wie zwei Arrays in PHP fusionieren
- 18. Undo Art auf sortiert Array in Javascript
- 19. Wie kann ich fusionieren 2 .POT Dateien (Übersetzungsdateien)
- 20. Wie ungültige JSON in Javascript
- 21. Javascript fusionieren Objekt mit verschachtelten Eigenschaften
- 22. Wie JSon mit Javascript
- 23. Was bedeutet diese pData [1 + 2 * i] << 8 | pData [2 + 2 * i] C++ - Syntax?
- 24. , wie die Liste in Linq Abfrage fusionieren
- 25. Wie kann ich id dieser JSON-Antwort in Winkel
- 26. Kann nicht fusionieren Knoten
- 27. Wie kürzesten Weg in dieser Art von Labyrinth
- 28. Wie 2 json-Datei mit jq zusammenführen?
- 29. Wie JSON in asp.net mvc 2 verdrängen?
- 30. Wie Gruppe in LINQ Listen fusionieren
Was ist die Frage? Warum sollte man sich auch für Tastenfolgen interessieren? – PeeHaa
In Javascript haben Objekte keine Reihenfolge. Zum Zusammenführen siehe [diese Frage] (http://stackoverflow.com/questions/171251/how-can-i-merge-properties-of-two-javascript-objects-dynamically). – Blackhole
Hashes Keys Reihenfolge ist die Implementierung definiert, also nichts, was Sie tun können über ihre Reihenfolge tatsächlich :( – axelduch