Ich habe ein Array mit dem Namen als commondata
Wie Objekte mit demselben Schlüssel in Javascript zusammenführen?
commondata = [{
giverUser: 'Abc',
createdAt: '2016 11: 48: 40',
note: 'Test'
}, {
giverUser: 'Xyz',
createdAt: '12: 22: 37',
note: 'Test data'
}, {
giverUser: 'Abc',
createdAt: '2016 14: 22: 07',
note: '"test123"'
}];
Wenn ich versuche, mit folgendem Code die obige Anordnung von Objekt zu verschmelzen, ich bin immer gleiche Anordnung, wie es ist.
Unten ist mein Code:
commondata.forEach(function(a, i) {
if (!this[a.giverUser]) {
this[a.giveruser] = {
giverUser: a.giverUser,
createdAt: [],
note: []
};
r_grouped.push(this[a.giveruser]);
}
this[a.giveruser].createdAt = this[a.giveruser].createdAt.concat(a.createdAt);
this[a.giveruser].note = this[a.giveruser].note.concat(a.note);
}, Object.create(null));
Was in obigem Code falsch? Warum bekomme ich kein Merger-Array mit demselben Geberus?
Sie könnten 'reduce' und' object.assign' verwenden. – evolutionxbox
Ihre Antwort ist bereits hier drin. http://StackOverflow.com/Questions/171251/How-Can-Imerge-Properties-of-Two-Javascript-Objects-dynamisch – DININDU
oh, aber was ist falsch in oben genannten Code? – Akki