javascript - 比较两个对象数组并在 Javascript 中值为 true 时返回一个新数组
问题描述
我需要比较 2 个数组
const inviteFriends = [
{
userId: 'u12p3',
name: 'Goku',
invited: true
},
{
userId: 'uefi3',
name: 'Vegeta',
invited: true
}
]
const allFriends = [
{
userId: 'u12p3',
name: 'Goku',
invited: false
},
{
userId: 'ufisj',
name: 'Goten',
invited: false
},
{
userId: 'uefi3',
name: 'Vegeta',
invited: false
},
]
如果invited
是true
我需要返回一个新数组。
像这样的东西:
const newArray = [
{
userId: 'u12p3',
name: 'Goku',
invited: true
},
{
userId: 'ufisj',
name: 'Goten',
invited: false
},
{
userId: 'uefi3',
name: 'Vegeta',
invited: true
},
]
知道如何实现这一目标吗?请帮忙
解决方案
const inviteFriends = [
{
userId: 'u12p3',
name: 'Goku',
invited: true
},
{
userId: 'uefi3',
name: 'Vegeta',
invited: true
}
]
const allFriends = [
{
userId: 'u12p3',
name: 'Goku',
invited: false
},
{
userId: 'ufisj',
name: 'Goten',
invited: false
},
{
userId: 'uefi3',
name: 'Vegeta',
invited: false
},
];
const newArr = allFriends.map((friend) => {
const found = inviteFriends.find((invited) => {
return invited.userId === friend.userId
});
return {...friend, ...found};
});
console.log(newArr);
推荐阅读
- proxy - Nuxt.js 使用 axios 代理进行多个外部 API 调用
- rust - 无法使用 Rust FFI 链接到 harfbuzz 动态库
- python - 从 json 对象更改特定键的所有值
- spring-boot - 如何在 Spring Boot 中使用 Shedlock 释放调度程序的锁?
- javascript - Angular [CDK v10+] 在拖放 CDK 中找不到合适的替代“进入”已弃用功能的方法
- javascript - 具有相同ID的多个按钮的Onclick功能?
- ios - 图像未显示在其他 iOS 设备上
- ruby-on-rails - 成功运行 rake db:create 后,docker 中的 Rails 应用程序返回数据库不存在
- python - Amazon SP API Feeds API 处理报告:产品类型无效
- purescript - 如何在 purescript 中获取产品类型的构造函数名称?类似于 haskell conNameOf