2017-02-13 6 views
-1

2つの配列を比較し、同じキーが見つかった場合は2番目の配列から値を取得して最初の配列に代入します。結果は最初の配列を使用しています。例えば私は、以下の配列があります。2つの配列を比較すると同じキーが見つかった場合2番目の配列の値を取得

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

目標があるが、私は結果がする欲しい:{'color': 'red', 'width': '400', 'height': '500'};

私は本当に任意の助けを借りて感謝...ありがとう:)

答えて

1

することができますだけObject.assign()を使用して、1つまたは複数のソースオブジェクトからターゲットオブジェクトに値をコピーします。

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

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

あなたが最初の配列のプロパティをループし、確認することができ、既存のオブジェクト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

ありがとうございました:) –

0

を操作したくない場合同じプロパティが2番目の配列に存在する場合

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

はどうもありがとうございました:) –

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

はどうもありがとうございました:) –

関連する問題