我用两行过滤myData
对象,但是有没有更短的方法呢?
我想要一个新对象。标识为 26 的名称必须从名称数组中删除。
可以使用ES2018功能。
有什么方法可以缩短修改过程吗?
const myData = {
names: [{
id: "1",
name: "Streptocjhgjsis "
},
{
id: "26",
name: "aksdfja"
},
{
id: "22",
name: "kasjdfakj iakd"
}
]
};
let filteredData = myData.names.filter((item) => item.id !== "26");
let newDataObject = {
names: filteredData
};
console.log(newDataObject);
答案 0 :(得分:1)
不要首先将结果获取到另一个对象,而直接将其设置为所需的对象,例如names: myData.names.filter((item) => item.id !== "26")
。
在下面进行测试。
const myData = {
names: [{
id: "1",
name: "Streptocjhgjsis "
},
{
id: "26",
name: "aksdfja"
},
{
id: "22",
name: "kasjdfakj iakd"
}
]
};
let newDataObject = {
names: myData.names.filter((item) => item.id !== "26")
};
console.log(newDataObject);