javascript - JavaScript 如何映射两个不同的对象数组并有条件地返回一个数组
问题描述
您好我需要帮助在以下示例数组中动态创建 newProducts 而不知道其他两个数组中的内容 https://jsfiddle.net/od4267fv/ 更多解释:
我想检查
products = [
{
id: 1,
name: 'product 1' ,
liked: false
},
{
id: 2,
name: 'product 2' ,
liked: false
},
{
id: 3,
name: 'product 3' ,
liked: false
},
{
id: 4,
name: 'product 4' ,
liked: false
},
{
id: 5,
name: 'product 5' ,
liked: false
},
]
likedProducts = [
{
id: 1,
name: 'product 1' ,
liked: true
},
{
id: 2,
name: 'product 2' ,
liked: true
},
{
id: 3,
name: 'product 3' ,
liked: true
},
]
if proucts[product].id === likedProducts[product].id
newProducts.push(likedProducts[product])
else
newProducts.push(proucts[product])
请推荐合适的方法
解决方案
试试这个
const allProducts = products.filter(n => likedProducts.find(n2 => n.id == n2.id));
推荐阅读
- mochawesome - Invalid value null error for mochawesome-report-generator
- vue.js - Error in render: "ReferenceError: h is not defined"
- python - 如何打开文件进行读写,如果不存在则创建它,如果存在,则不截断它?
- swift - Every time I launch the project, it is only a black screen
- unity3d - If the z-axis increases add 1 to variable in unity
- python - How to make a code exclude a word in a list of numbers
- javascript - 未捕获的类型错误:无法读取 null 的属性“值””
- c# - 如何从对象类型列表中提取一种值
- c++ - VSCode C++ 导航到头文件类定义而不是实现文件
- javascript - 两个循环之间的区别