2017-10-17 2 views
0

Ich versuche, ein Objekt zu kopieren, aber ich möchte nur bestimmte Eigenschaften aus dem Quellobjekt, d. H. Keine der schreibgeschützten Eigenschaften. Ich habe versucht, ließ a = b, const b = Object.assign ({}, a) usw.Javascript/Type Skript: Kopieren von Objekten

Quellobjekt ist ein Array mit den folgenden Eigenschaften: -

0: 
accountId 
customerId: 
description: 
image: 
items: (4) [{…}, {…}, {…}, {…}] 
productTitle: 
selected:false 
$exists: 
$key: 
__proto: 

Ich möchte nur die folgenden Eigenschaften im neuen Objekt:

0: 
items: (4) [{…}, {…}, {…}, {…}] 
productTitle: 

Kann jemand auf dem besten Weg beraten, dies zu tun?

+1

'Object.assign' kopiert alle aufzählbaren Eigenschaften in das Zielobjekt. Wenn Sie nur eine Teilmenge davon kopieren möchten, führen Sie die Zuweisungen manuell durch. – Bergi

+0

Sie können Eigenschaften nicht mit 'Object.assign' ausschließen. Probieren Sie dies aus: 'const b = {items: a.items, productTitle: a.productTitle};' –

+0

Vielen Dank - das hat this.productGridData = []; this.products.forEach (product => { this.productGridData.push ({productTitle: product.productTitle, Artikel: product.items}) }); – ccocker

Antwort

0

Sie könnten eine destructuring assignment des Objekts verwenden und dann nur die Teile nehmen.

let { item, productTitle } = object, 
    newObject = { item, productTitle }; 
+0

"destrukturieren" -> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment –

+0

Bitte antworten Sie nicht auf offensichtliche Duplikate. – Cerbrus

Verwandte Themen