循环遍历对象数组,若属性匹配,则切片该对象-Javascript

循环遍历对象数组,若属性匹配,则切片该对象-Javascript,javascript,arrays,Javascript,Arrays,我有一个对象数组,我试图在数组中循环,如果我找到了匹配的对象,我想切片这个对象 var object = [ { "Name": 'Kshitij', "LastName": 'Rangari', "CountryBorn": 'India', "CountryStay": 'USA' }, { "Name": 'Pratik', "LastName": 'Rangari', "CountryBorn": 'India',

我有一个对象数组,我试图在数组中循环,如果我找到了匹配的对象,我想切片这个对象

var object = [
  {
    "Name": 'Kshitij',
    "LastName": 'Rangari',
    "CountryBorn": 'India',
    "CountryStay": 'USA'
  },

  {
    "Name": 'Pratik',
    "LastName": 'Rangari',
    "CountryBorn": 'India',
    "CountryStay": 'Canada'
  },

  {
    "Name": 'Pratibha',
    "LastName": 'Rangari',
    "CountryBorn": 'India',
    "CountryStay": 'India'
  },

  {
    "Name": 'Ankita',
    "LastName": 'Raut',
    "CountryBorn": 'India',
    "CountryStay": 'Australia'
  },

  {
    "Name": 'Wayne',
    "LastName": 'Rooney',
    "CountryBorn": 'UK',
    "CountryStay": 'UK'
  }

]

console.log(object);

object.forEach(function(x){
  if (x.Name==='Kshitij'){

  }
})

object.map (obj =>{

  obj.AllFirstName = obj['Name'];
  console.log(obj['AllFirstName']);

})

console.log('------------------------------')

console.log(object); 
我想在对象中循环,并想找到如果
Name==='Kshitij'
Name==='Pratik'
,我想从数组中删除这些对象


如何执行此操作?

使用内置筛选器删除与某个谓词匹配的所有项。然后将原始对象设置为筛选列表

var namesToRemove = ['Kshitij', 'Pratik'];
object = object.filter(e => !namesToRemove.includes(e.Name))

使用内置筛选器删除与某个谓词匹配的所有项。然后将原始对象设置为筛选列表

var namesToRemove = ['Kshitij', 'Pratik'];
object = object.filter(e => !namesToRemove.includes(e.Name))
使用函数获取移除对象的新阵列-请参阅下面的演示:

var object=[{“Name”:“Kshitij”、“LastName”:“Rangari”、“CountryBorn”:“India”、“CountryStay”:“USA”}、{“Name”:“Pratik”、“LastName”:“Rangari”、“CountryBorn”:“India”、“CountryStay”:“Canada”}、{“Name”:“Pratibha”、“LastName”:“Rangari”、“CountryBorn”:“India”、“{“Name”:“Raut”、“CountryBorn”:“CountryStay”、“CountryStay”:'Australia'},{“姓名”:'Wayne',“姓氏”:'Rooney',“CountryBorn”:'UK',“CountryStay”:'UK'}];
var result=object.filter(函数(e){
返回e.Name!='Kshitij'和&e.Name!='Pratik'
});
控制台日志(结果)
.as控制台包装{top:0;最大高度:100%!important;}
使用函数获取一个新数组,其中删除了对象-请参阅下面的演示:

var object=[{“Name”:“Kshitij”、“LastName”:“Rangari”、“CountryBorn”:“India”、“CountryStay”:“USA”}、{“Name”:“Pratik”、“LastName”:“Rangari”、“CountryBorn”:“India”、“CountryStay”:“Canada”}、{“Name”:“Pratibha”、“LastName”:“Rangari”、“CountryBorn”:“India”、“{“Name”:“Raut”、“CountryBorn”:“CountryStay”、“CountryStay”:'Australia'},{“姓名”:'Wayne',“姓氏”:'Rooney',“CountryBorn”:'UK',“CountryStay”:'UK'}];
var result=object.filter(函数(e){
返回e.Name!='Kshitij'和&e.Name!='Pratik'
});
控制台日志(结果)

.as console wrapper{top:0;max height:100%!important;}
您可以使用返回一个过滤数组,它过滤掉数组中对象的给定键的所有给定值

const with=(键,值)=>object=>!包括(对象[键]);
var数组=[{Name:'Kshitij',LastName:'Rangari',CountryBorn:'India',CountryStay:'USA'},{Name:'Pratik',LastName:'Rangari',CountryStay:'India',CountryStay:'Canada'},{Name:'Pratibha',LastName:'Rangari',CountryBorn:'India',CountryStay:'India'},{姓名:'Ankita',姓氏:'Raut',CountryBorn:'India',CountryStay:'Australia'},{姓名:'Wayne',姓氏:'Rooney',CountryBorn:'UK',CountryStay:'UK'}];
console.log(array.filter(不带('Name',['Kshitij','Pratik'));

.as console wrapper{max height:100%!important;top:0;}
您可以使用返回一个过滤数组,它过滤掉数组中对象的给定键的所有给定值

const without=(key,values)=>object=>!values.includes(object[key]);
var数组=[{Name:'Kshitij',LastName:'Rangari',CountryBorn:'India',CountryStay:'USA'},{Name:'Pratik',LastName:'Rangari',CountryStay:'India',CountryStay:'Canada'},{Name:'Pratibha',LastName:'Rangari',CountryBorn:'India',CountryStay:'India'},{姓名:'Ankita',姓氏:'Raut',CountryBorn:'India',CountryStay:'Australia'},{姓名:'Wayne',姓氏:'Rooney',CountryBorn:'UK',CountryStay:'UK'}];
console.log(array.filter(不带('Name',['Kshitij','Pratik'));

。作为控制台包装{max height:100%!important;top:0;}
。调用数组
对象
在技术上是正确的,但在这里有点误导。这个正确的术语不是“切片”。它是“过滤掉”…另外,调用数组
对象
在技术上是正确的,但在这里有点误导。这个正确的术语不是“切片”。而是“过滤掉”。“我想从数组中删除这些对象。”
。filter()
返回一个新数组“我想从数组中删除这些对象。”
。filter()
返回一个新数组“我想从数组中删除这些对象。”
.filter()
返回一个新的ArrayUp编辑答案以反映…”我想从数组中删除这些对象。“
.filter()
返回一个新的ArrayUp编辑答案以反映…您正在接受声明为“删除”的“要求”"太严重了,这会让你产生一个可怕的建议,使用
拼接
,然后迫使你向后工作,或者翻其他筋斗。此外,你的逻辑似乎只删除了第一个出现的问题。更不用说整个事情是由大约十八个其他问题组成的。@torazaburo,对,我认真对待单词。我误读了这个问题,但op想要的只是后来才弄清楚。不管怎样,现在通过过滤和使用一种简单的fprward方法。顺便说一句,dup目标很可怕。好多了。对dup目标,我也不满意,但这个问题属于非常基本的范畴,似乎没有一个干净的dup,有点像一个关于如何在JS中添加两个数字的问题。您将“需求”表示为“删除”太严重了,这会让你产生一个可怕的建议,使用
拼接
,然后迫使你向后工作,或者翻其他筋斗。此外,你的逻辑似乎只删除了第一个出现的问题。更不用说整个事情是由大约十八个其他问题组成的。@torazaburo,对,我认真对待单词。我误读了这个问题,但op想要的只是后来才弄清楚。不管怎样,现在通过过滤和使用一种简单的fprward方法。顺便说一句,dup目标很可怕。好多了。对dup目标,我也不满意,但这个问题属于非常基本的范畴,似乎没有一个干净的dup,分类