微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从第二个对象中的每个对象复制技能属性,并根据属性 id 为第一个数组中的每个对象设置该技能属性? (JS)

如何解决如何从第二个对象中的每个对象复制技能属性,并根据属性 id 为第一个数组中的每个对象设置该技能属性? (JS)

我有 2 个对象数组。对于每个对象,这两个数组具有相同的长度和相同的 id 属性

const arr1 = [{id:1,name:'Dave',email:'email1@gmail.com'},{id:2,name:'Jane',email:'email2@gmail.com'}]
const arr2 = [{id:1,profession:'programmer',skill:'JS'},profession:'Sales person',skill:'sales'}]

如何从 arr2 复制每个对象的技能属性,并通过检查相关的属性 id 将其设置在对象的第一个数组中?

解决方法

For each public void onResume() { player.setPlayWhenReady(true); super.onResume(); //initiateExoPlayerPlayer(); if(mLastPosition!=0 && player!=null){ player.seekTo(mLastPosition); } } 中的值,尝试find arr1 中的相应值并相应地更新技能属性:

arr2

完整片段:

arr1.forEach(v1 => v1.skill = arr2.find(v2 => v1.id === v2.id)?.skill);

,

你可以这样做。

const arr1 = [{id: 1,name: "Dave",email: "email1@gmail.com"},{id: 2,name: "Jane",email: "email2@gmail.com"}];
const arr2 = [{id: 1,profession: "programmer",skill: "JS"},profession: "Sales person",skill: "sales"}];

console.log(arr1);

arr2.forEach((el2) => {
  let result = arr1.find((el1) => el1.id === el2.id)
  if (result) {
   result.skill= el2.skill;
  }
})

console.log(arr1);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。