2017-02-13 2 views
-1

Wie zwei Arrays zu vergleichen, und wenn der gleiche Schlüssel gefunden wird und dann den Wert aus dem 2. Array und dem ersten Array zuweisen. Und das Ergebnis ist das erste Array. zum Beispiel habe ich das Array unter:Vergleichen Sie zwei Array, wenn gefunden gleichen Schlüssel erhalten Sie den Wert von 2. Array

var compareit = { 
      firstArray : { 
       'color': 'blue', 
       'width': 400, 
       'height': 150, 
      }, 
      secondArray: { 
       'color': 'red', 
       'height': 500, 
      }, 
    }; 

Das Ziel ist, möchte ich das Ergebnis wird: nur {'color': 'red', 'width': '400', 'height': '500'};

ich wirklich mit jeder Hilfe zu schätzen wissen ... Danke :)

Antwort

1

Sie können Verwenden Sie Object.assign(), um Werte von einem oder mehreren Quellobjekten in ein Zielobjekt zu kopieren.

var compareit = { 
 
    firstArray: { 
 
    'color': 'blue', 
 
    'width': 400, 
 
    'height': 150, 
 
    }, 
 
    secondArray: { 
 
    'color': 'red', 
 
    'height': 500, 
 
    }, 
 
}; 
 

 
Object.assign(compareit.firstArray, compareit.secondArray); 
 
console.log(compareit.firstArray)

Wenn Sie Objekt compareit.firstArray

var compareit = { 
 
    firstArray: { 
 
    'color': 'blue', 
 
    'width': 400, 
 
    'height': 150, 
 
    }, 
 
    secondArray: { 
 
    'color': 'red', 
 
    'height': 500, 
 
    }, 
 
}; 
 

 
var obj = {}; 
 
Object.assign(obj, compareit.firstArray, compareit.secondArray); 
 
console.log(obj, compareit)

+0

Vielen Dank :) –

0

Sie können eine Schleife durch die Eigenschaften in der ersten Anordnung bestehenden nicht manipulieren wollen, und Scheck wenn dieselbe Eigenschaft im zweiten Array vorhanden ist.

var compareit = { 
 
    firstArray: { 
 
    'color': 'blue', 
 
    'width': 400, 
 
    'height': 150, 
 
    }, 
 
    secondArray: { 
 
    'color': 'red', 
 
    'height': 500, 
 
    }, 
 
}; 
 
var result = {}; 
 
for (var key in compareit.firstArray) { 
 
    if (key in compareit.secondArray) { 
 
    result[key] = compareit.secondArray[key]; 
 
    } else { 
 
    result[key] = compareit.firstArray[key]; 
 
    } 
 
} 
 
console.log(result);

+0

Thank you very much :) –

0

var compareit = { 
 
      firstArray : { 
 
       'color': 'blue', 
 
       'width': 400, 
 
       'height': 150, 
 
      }, 
 
      secondArray: { 
 
       'color': 'red', 
 
       'height': 500, 
 
      }, 
 
    }; 
 
var result, 
 
    compareObjects=function(comp){ 
 
     return Object.assign(comp.firstArray, comp.secondArray); 
 
    }; 
 

 
result=compareObjects(compareit); 
 
console.log(result);

+0

Vielen Dank :) –

Verwandte Themen