Javascript 是否有一种更短的方法来过滤数据对象?

Javascript 是否有一种更短的方法来过滤数据对象?,javascript,typescript,babeljs,Javascript,Typescript,Babeljs,我用两行代码过滤myData对象,但有没有一种更短的方法 我想要一个新的东西名称 可以使用ES2018功能 有没有办法缩短修改过程 const myData={ 姓名:[{ id:“1”, 名称:“Streptocjhgjsis” }, { id:“26”, 名称:“aksdfja” }, { 身份证号码:“22”, 名称:“kasjdfakj iakd” } ] }; 让filteredData=myData.names.filter((item)=>item.id!=“26”); 让new

我用两行代码过滤myData对象,但有没有一种更短的方法

我想要一个新的东西<必须从名称数组中删除id为26的strong>名称

可以使用ES2018功能

有没有办法缩短修改过程

const myData={
姓名:[{
id:“1”,
名称:“Streptocjhgjsis”
},
{
id:“26”,
名称:“aksdfja”
},
{
身份证号码:“22”,
名称:“kasjdfakj iakd”
}
]
};
让filteredData=myData.names.filter((item)=>item.id!=“26”);
让newDataObject={
姓名:Filteredata
};

console.log(newDataObject)不要先将结果获取到另一个对象,然后直接将其设置为所需的对象,如
名称:myData.names.filter((item)=>item.id!=“26”)

在下面测试它

const myData={
姓名:[{
id:“1”,
名称:“Streptocjhgjsis”
},
{
id:“26”,
名称:“aksdfja”
},
{
身份证号码:“22”,
名称:“kasjdfakj iakd”
}
]
};
让newDataObject={
名称:myData.names.filter((item)=>item.id!==“26”)
};

console.log(newDataObject)过滤数组然后将其注入对象的操作正在进行,但。。。这太难看了。
let newDataObject={names:myData.names.filter((item)=>item.id!=“26”)}
你可以使用参数销毁来避免声明参数名
filter(({id}=>id!=“26”)
但是除了“不要修复未损坏的东西”:)你为什么认为它难看?这是完全可读的代码。您可以通过使用
let names=myData.names.filter(…)
然后
let newObject={names}