如果我有一个对象:
[
{
"value":"d1",
"label":"bathstore.com",
"selected":true
},
{
"value":"d2",
"label":"superdrug.com",
"selected":true
},
{
"value":"d3",
"label":"papajohns.com",
"selected":true
}
]
如何使用spread运算符或Object.assign()将'selected'字段的每个值更改为'false'以避免对象变异?
答案 0 :(得分:5)
您可以使用map
迭代数组,并在每个回调中使用扩展语法来创建具有更新属性的新对象:
let data = [
{
"value":"d1",
"label":"bathstore.com",
"selected":true
},
{
"value":"d2",
"label":"superdrug.com",
"selected":true
},
{
"value":"d3",
"label":"papajohns.com",
"selected":true
}
];
let newData = data.map((item) => {
return {...item, selected: false};
});
console.log(newData);