javascript根据属性值从数组中删除所有对象
如何根据属性值从数组中删除所有对象javascript根据属性值从数组中删除所有对象,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,如何根据属性值从数组中删除所有对象 函数removeByKey(数组,字段名){ 数组.some(函数(项、索引){ 返回(array[index].name==fieldName)!!(array.splice(index,1)):false; }); 返回数组; } 常量myarr=[ { 名称:“foo”, 学校:“呼” },{ 名称:“foo”, 学校:“Xoo” },{ 名称:'酒吧', 学校:“Xoo” } ]; log(removeByKey(myarr,'foo'))为什么不使
函数removeByKey(数组,字段名){
数组.some(函数(项、索引){
返回(array[index].name==fieldName)!!(array.splice(index,1)):false;
});
返回数组;
}
常量myarr=[
{
名称:“foo”,
学校:“呼”
},{
名称:“foo”,
学校:“Xoo”
},{
名称:'酒吧',
学校:“Xoo”
}
];
log(removeByKey(myarr,'foo'))
为什么不使用过滤器
例如:
编辑以匹配注释。为什么不使用过滤器
例如:
编辑以匹配注释。您可以为此使用筛选功能:
function removeByKey(arr, propertyValue) {
return arr.filter(item => item.name !== propertyValue);
}
const myarr = [
{
name: 'foo',
school: 'hoo'
},{
name: 'foo',
school: 'xooo'
},{
name: 'bar',
school: 'xooo'
}
];
console.log(removeByKey(myarr, 'foo'));
更通用的removeByKey函数是:
function removeByKey(arr, propertyName, propertyValue) {
return arr.filter(item => item[propertyName] !== propertyValue);
}
const myarr = [
{
name: 'foo',
school: 'hoo'
},{
name: 'foo',
school: 'xooo'
},{
name: 'bar',
school: 'xooo'
}
];
console.log(removeByKey(myarr, 'name', 'foo'));
您可以为此使用筛选功能:
function removeByKey(arr, propertyValue) {
return arr.filter(item => item.name !== propertyValue);
}
const myarr = [
{
name: 'foo',
school: 'hoo'
},{
name: 'foo',
school: 'xooo'
},{
name: 'bar',
school: 'xooo'
}
];
console.log(removeByKey(myarr, 'foo'));
更通用的removeByKey函数是:
function removeByKey(arr, propertyName, propertyValue) {
return arr.filter(item => item[propertyName] !== propertyValue);
}
const myarr = [
{
name: 'foo',
school: 'hoo'
},{
name: 'foo',
school: 'xooo'
},{
name: 'bar',
school: 'xooo'
}
];
console.log(removeByKey(myarr, 'name', 'foo'));
我是说,我需要移除而不是保留火柴。。。。然后执行obj.name!='foo'
@storis我编辑了我的答案以符合你的需要。我的意思是,我需要删除而不是保留匹配项。。。。然后执行obj.name!='foo'
@storis我编辑了我的答案以符合您的需要。更改代码>到代码>更改代码>到代码>