Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript根据属性值从数组中删除所有对象_Javascript_Arrays_Ecmascript 6 - Fatal编程技术网

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我编辑了我的答案以符合您的需要。更改
更改