Javascript 将数组的值与对象数组的键进行比较

Javascript 将数组的值与对象数组的键进行比较,javascript,arrays,Javascript,Arrays,正如问题所指出的,我需要将这种类型的数组[1,2,3]的值与对象数组[{id:1,name:'jhon'},{id:2,name:'max'}]的键的值进行比较。在这种情况下,我想将其与id键的值进行比较,我编写了以下我需要的示例: 如果我有这个对象数组: [    {       id: 1       name: 'jhon'    },    {      id: 2,      name: 'max'    },    {      id: 3,      name: 'fer'   

正如问题所指出的,我需要将这种类型的数组[1,2,3]的值与对象数组[{id:1,name:'jhon'},{id:2,name:'max'}]的键的值进行比较。在这种情况下,我想将其与id键的值进行比较,我编写了以下我需要的示例:

如果我有这个对象数组:

[
   {
      id: 1
      name: 'jhon'
   },
   {
     id: 2,
     name: 'max'
   },
   {
     id: 3,
     name: 'fer'
   }
]
我有一个数组:

[1,2,3,4,5]
我需要比较它们并获得对象数组中不存在的值,在上一个示例中,值4和5不存在于对象数组中,因此我需要获得一个新的数组或相同的数组,但与不存在的值比较,[4,5]

注意:如果我有一个数组,这也应该起作用,只对不存在的数字,例如[8,9],它们应该返回相同的值

编辑:可以在新数组中获取仅存在于对象数组中的值。例如,对于前面代码的数组:

[{id: 1, name: 'jhon'}, {id: 2, name: 'max'}, {id: 3, name: 'fer'}]
现在这个数组将有以下值[1,4,5],根据前面的答案,我得到了下面的数组[4,5],这是正确的。如何获取新数组中的值[2,3]。

使用arr1的ID创建一个数组。然后,通过检查是否设置了以下数字来arr2:

const arr1=[{id:1,name:jhon},{id:2,name:max},{id:3,name:fer}]; 常数arr2=[1,2,3,4,5]; 常数arr3=[1,5]; 常数差=arr1,arr2,键=>{ const arr1Values=new Setkey?arr1.map{[key]:v}=>v:arr1; 返回arr2.filtern=>!arr1Values.haven; }; //基本体数组和对象数组 console.logdifferenceaarr1,arr2,'id'; //两个基元数组 console.logdifferencearr3、arr2 使用从arr1的ID创建一个。然后,通过检查是否设置了以下数字来arr2:

const arr1=[{id:1,name:jhon},{id:2,name:max},{id:3,name:fer}]; 常数arr2=[1,2,3,4,5]; 常数arr3=[1,5]; 常数差=arr1,arr2,键=>{ const arr1Values=new Setkey?arr1.map{[key]:v}=>v:arr1; 返回arr2.filtern=>!arr1Values.haven; }; //基本体数组和对象数组 console.logdifferenceaarr1,arr2,'id'; //两个基元数组 console.logdifferencearr3、arr2 您可以使用筛选和查找

设arr1=[{id:1,名称:'jhon'},{id:2,名称:'max'},{id:3,名称:'fer'}] 设arr2=[1,2,3,4,5]; 让结果=arr2.filtero=>!arr1.findx=>x.id==o; console.logresult 您可以使用筛选和查找

设arr1=[{id:1,名称:'jhon'},{id:2,名称:'max'},{id:3,名称:'fer'}] 设arr2=[1,2,3,4,5]; 让结果=arr2.filtero=>!arr1.findx=>x.id==o; console.logresult 您可以使用筛选器检查arr2中元素的id属性是否与arr2中的当前元素匹配

答复 [8,9]

您可以使用过滤器检查arr2中元素的id属性是否与arr2中的当前元素匹配

答复 [8,9]

您可以使用。过滤器和。包括:

设arr1=[{id:1,名称:'jhon'},{id:2,名称:'max'},{id:3,名称:'fer'}], arr2=[1,2,3,4,5]; 让结果= ids=>arr2.filtern=>!id.includesn arr1.map{id}=>id; console.logresult 您可以使用.filter和.includes:

设arr1=[{id:1,名称:'jhon'},{id:2,名称:'max'},{id:3,名称:'fer'}], arr2=[1,2,3,4,5]; 让结果= ids=>arr2.filtern=>!id.includesn arr1.map{id}=>id;
console.logresult 您可以获取具有给定ID的集合,然后删除对象的ID。稍后返回带有剩余ID的数组

var data=[{id:1,名称:'jhon'},{id:2,名称:'max'},{id:3,名称:'fer'}], ids=[1,2,3,4,5], result=Array.fromdata.reduces,{id}=>s.deleteid,s,新的setId; console.logresult;
.as console wrapper{max height:100%!important;top:0;}您可以使用给定的ID获取一个集合,然后删除对象的ID。稍后返回带有剩余ID的数组

var data=[{id:1,名称:'jhon'},{id:2,名称:'max'},{id:3,名称:'fer'}], ids=[1,2,3,4,5], result=Array.fromdata.reduces,{id}=>s.deleteid,s,新的setId; console.logresult;
.作为控制台包装器{max height:100%!important;top:0;}great对我帮助很大,现在我正在学习javascripts,请在我的问题中再添加一个细节我希望你能帮助我thanksgreat对我帮助很大,现在我正在学习javascripts,请在我的问题中再添加一个细节我希望你能帮助我thanksgreat!这对我帮助很大lot@FeRcHo很乐意帮忙。我还添加了新问题的答案更新。太好了!这对我帮助很大lot@FeRcHo很乐意帮忙。我还添加了新问题更新的答案。
const arr1 = [{"id":1,"name":"jhon"},{"id":2,"name":"max"},{"id":3,"name":"fer"}];

const arr2 = [8,9];
var diffArray = arr2.filter(x => !arr1.filter(y => y.id === x).length);
console.log(diffArray);