JS之數組對象的覆蓋


覆蓋數組對象

業務場景:對象A與對象B具有相同屬性的情況下,把對象B的屬性值賦值到對象A中,且不影響對象A的其他屬性。(數組對象中如果嵌套了其他數組對象,則該方法不適用)


var o1 = [
  { name: '小明', age: 18, sex: '男' },
  { name: '小紅', age: 18, sex: '女' },
  { name: '小剛', age: 18 },
]
var o2 = [
  { name: '小紅', age: 20 },
  { name: '小剛', age: 16 },
]
function objAssign(objA, objB, value) {
  return objA.map((itemA) => {
    return Object.assign(itemA, objB.find((itemB) => {
      return itemB && itemA[value] === itemB[value] // 指定屬性名name
    }))
  })
}
console.log(JSON.stringify(objAssign(o1, o2, 'name'))) // 指定屬性名name
/* 輸出結果
  { name: '小明', age: 18, sex: '男' },
  { name: '小紅', age: 20, sex: '女' },
  { name: '小剛', age: 16 },
*/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM