Ich habe diese Datensätze unten, und ich möchte Verbindung die Daten in jedem Satz:Javascript für/in Schleife - Join Elemente von zwei verschiedenen Objekten?
var data = {};
var datasets = [
{"_id":"58d6c806d7c80d5d44a35204","particles":{"timestamp":[1490470918708,1490470962915,1490470967186],"Particles":["108","108","109"]}},
{"_id":"58d6caf62552b75f26f56f91","particles":{"timestamp":[1490471670888,1490473309103],"Particles":["109","100"]}}
];
datasets.forEach(function(dataset, index) {
for (var key in dataset.particles) {
data[key] = dataset.particles[key];
}
});
console.log(data);
Ergebnis:
{ timestamp: [ 1490471670888, 1490473309103 ],
Particles: [ '109', '100' ] }
Sie sind nicht verbunden. Das Ergebnis, das ich bin:
{ timestamp: [ 1490470918708,1490470962915,1490470967186, 1490471670888, 1490473309103 ],
Particles: [ '108','108','109', '109', '100' ] }
Irgendwelche Ideen?
EDIT
Ist concat
oder push
schneller, wenn es zu einem sehr großen Daten kommt?
Da ich eine Menge gute Antwort sehe, werde ich mir nicht schreiben. Nur ein Kommentar Ich merke, dass viele Leute 'concat' benutzen. Dadurch wird jedes Mal ein neues Array erstellt, anstatt nur neue Elemente in das vorhandene Array einzufügen. Ich empfehle stattdessen "Push". – Luka
@Luka ist schneller als Concat? – laukok
Im Allgemeinen ist 'push' schneller, wenn Sie es mit' Array.prototype.push.apply' aufrufen. Aber seien Sie vorsichtig, da dieser Weg begrenzt ist: Sie können keine große Anzahl von Gegenständen auf diese Weise anhängen. – Luka