如何根据某些条件更改对象值

时间:2020-03-14 17:06:24

标签: javascript

我有以下对象,想更改基于hidden:true的{​​{1}}值。

arr

我希望结果是这样的:

obj1 = {
  "items":[
    {name: "Dashboard", url: "/dashboard"},
    {name: "Admin", url: "/admin", attributes: {hidden:false}},
    {name: "User", url: "/user", attributes: {hidden:false}}
  ]
}

arr=["Admin","User"]

2 个答案:

答案 0 :(得分:1)

您可以尝试一下

let obj1 = {
  "items":[
    {name: "Dashboard", url: "/dashboard"},
    {name: "Admin", url: "/admin", attributes: {hidden:false}},
    {name: "User", url: "/user", attributes: {hidden:false}}
  ]
};

let arr=["Admin","User"];

obj1.items.map((item)=>{
    if(arr.includes(item.name)){
      item.attributes.hidden = true;
    }
    return item
});

console.log(obj1)

答案 1 :(得分:0)

我们首先遍历<h4>,如果它具有一个属性并且在items中找到了该属性,则将其设置为arr

true