gpt4 book ai didi

javascript - 检查 javascript/typescript 中两个对象数组中的相同名称?

转载 作者:行者123 更新时间:2023-12-02 18:10:58 25 4
gpt4 key购买 nike

我有两个对象数组

array1=[{name:'apple',deleted:false},
{name:'road',deleted:false},
{name:'tree',deleted:false}]

array2=[{name:'apple'},
{name:'tree'}]

我想要的是:如果 array1 对象在 array2 中具有相同的名称,我想将 array1 中的“deleted”值更改为 true 。 例如:{name:'apple',已删除:true}

期望得到结果数组1:

array1=[{name:'apple',deleted:true},
{name:'road',deleted:false},
{name:'tree',deleted:true}]

这里你可以看到,只有apple,treedeleted=true,因为array2只有2个名字:apple

最佳答案

你可以:

  • 使用 forEach 在 array1 上循环作为示例

  • 使用一些函数来设置已删除的 bool 值

    deleted = array2.some(elem2 => elem2.name === elem.name)

const array1 = [{
name: 'apple',
deleted: false
},
{
name: 'road',
deleted: false
},
{
name: 'tree',
deleted: false
}
]

const array2 = [{
name: 'apple'
},
{
name: 'tree'
}
];

array1.forEach(elem => elem.deleted = array2.some(elem2 => elem2.name === elem.name));

console.log(array1);

关于javascript - 检查 javascript/typescript 中两个对象数组中的相同名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72358262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com