gpt4 book ai didi

javascript - 根据另一个数组中存在的值向对象数组添加属性

转载 作者:搜寻专家 更新时间:2023-10-30 22:06:12 26 4
gpt4 key购买 nike

我有一个数组来检查主数组,

const arrayToCheck = ['a', 'b', 'c', 'd'];

这是主数组,

const mainArray = [ {name:'alex', code: 'c'}, 
{name:'jack', code: 'd'},
{name:'john', code: 'n'},
{name:'mike', code: 'l'}
]

我想根据 arrayToCheck 中的值向 mainArray 添加一个状态属性,键为“启用”或“禁用”。

所以输出应该是

[ {name:'alex', code: 'c', status: 'enable'}, 
{name:'jack', code: 'd', status: 'enable'},
{name:'john', code: 'n', status: 'disable'},
{name:'mike', code: 'l', status: 'disable'}
]

我尝试了 map 和一些以获得所需的输出,但没有成功,

这是我尝试过的,

const output = this.mainArray.map( (fil, i) => {
return arrayToCheck.some( s => {
if (s === fil.Code) {
this.mainArray[i].Status = 'enable'
} else {
this.mainArray[i].Status = 'disable'
}
})
});

最佳答案

您可以将map 方法与includes 和传播语法... 一起使用。此解决方案返回对象的数组并且不修改原始数组。

const arrayToCheck = ['a', 'b', 'c', 'd'];
const mainArray = [ {name:'alex', code: 'c'}, {name:'jack', code: 'd'}, {name:'john', code: 'n'}, {name:'mike', code: 'l'}]

const result = mainArray.map(e => ({...e, status: arrayToCheck.includes(e.code) ? "enable" : "disable"}))
console.log(result)

关于javascript - 根据另一个数组中存在的值向对象数组添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52206609/

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