angular - Hur man slår samman två objektdata till ett
Jag har två datamängder som behöver slås samman till en. Mina exempeldata ser ut så här..
Första data
{Address: "Test", City: "test", State: "Test"}
Andra Data
{UserId:"John", Name: "John"}
När jag använder den här metoden const a=[].concat(this.firstData, this.secondData); blir det en array, inte kombineras till en, exempel som nedan:
(2)[{…}, {…}]
[0]{Address: "Test", City: "test", State: "Test", …}
[1]{UserId:"John", Name: "John", …}
Vilken metod ska jag använda för att förenas till en
Svar #1
Du kan använda spridningsoperatorn på båda:
const firstData = {Address: "Test", City: "test", State: "Test"};
const secondData = {UserId:"John", Name: "John"};
const merged = { ...firstData, ...secondData };
console.log(merged)Användbara referenser:
- Dokumentation för variabeldeklarationer/spridning i TypeScript-handboken.
- Dokumentation för JavaScripts spread-operator (MDN).
Svar #2
Du kan använda Object.assign som kopierar alla uppräkningsbara egenskaper från ett eller flera objekt till ett målobjekt. Det returnerar målobjektet.
var x = { name: 'Jhon', last: 'Lennon' };
var y = { bday: new Date('1940-10-09') };
var z = Object.assign({}, x, y);
console.log(z);
// Output:
// { name: 'Jhon', last: 'Lennon', bday: 1940-10-09T00:00:00.000Z }
Mer om
Object.assignhär: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
