Kan*_*ali -3 javascript ecmascript-6
如果我有一个对象:
[
{
"value":"d1",
"label":"bathstore.com",
"selected":true
},
{
"value":"d2",
"label":"superdrug.com",
"selected":true
},
{
"value":"d3",
"label":"papajohns.com",
"selected":true
}
]
Run Code Online (Sandbox Code Playgroud)
如何使用扩展运算符或Object.assign()将“选定”字段的每个值更改为“假”,以避免对象突变?
您可以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);Run Code Online (Sandbox Code Playgroud)