Javascript 如何基于其他数组更改原始数组

Javascript 如何基于其他数组更改原始数组,javascript,Javascript,您好,我想转换来自API的原始数组,并在用户id匹配时将用户的颜色字段更改为“主”。我试图运行这段代码,但它运行的是空数组 console.log(数组.filter((项,i)=>{ return item.id==selected[i] })) /id数组 所选常数=[77,80] 您需要使用字符串或将其转换为数字,因为它也会检查数据类型 console.log(array.filter((item, i) => { return +item.id === selected[i]

您好,我想转换来自API的原始数组,并在用户id匹配时将用户的颜色字段更改为“主”。我试图运行这段代码,但它运行的是空数组

console.log(数组.filter((项,i)=>{
return item.id==selected[i]
}))
/id数组
所选常数=[77,80]
您需要使用字符串或将其转换为数字,因为它也会检查数据类型

console.log(array.filter((item, i) => {
  return +item.id === selected[i]
}))


您可以使用数组上和数组内部的映射更改
颜色
,该映射只需与所选ID匹配即可。
const arr=[
{
“id”:“183”,
“全名”:“西蒙·阿曼”,
“颜色”:“次要”
},
{
“id”:“77”,
“全名”:“丹尼斯·博格坎普”,
“颜色”:“次要”
},
{
“id”:“80”,
“全名”:“Allison Bäcker”,
“颜色”:“次要”
},
];
选定常数=[77,80];
常量结果=arr.map((el)=>{
如果(已选择。包括(编号(标高id))){
返回{
…呃,
颜色:'初级'
}
}
返回el;
});

控制台日志(结果)您可以尝试从所选内容中筛选:

console.log(selected.map((s) => {
   return array.filter(el=>el.id ===`${s}`)
}))

item.id
以字符串形式返回id
selected[i]
是一个数字数组。他们是
console.log(array.filter((item, i) => {
  return item.id == selected[i]
}))
console.log(selected.map((s) => {
   return array.filter(el=>el.id ===`${s}`)
}))