Javascript 从对象获取数组差异的最佳方法是什么?
我有一个值数组:Javascript 从对象获取数组差异的最佳方法是什么?,javascript,jquery,Javascript,Jquery,我有一个值数组:[“1”、“2”、“3”],它基本上包含存储在此对象数组中的记录的引用: [ { id: 1, name: "John" }, { id: 2, name: "Patrick" }, { id: 3, name: "Jack" }, { id: 4, name: "Paula" }, { id: 5, name: "Sarah" } ] 我想从对象数组返回缺少的引用,因此结果将是:4,5。到目前为止,我实现的是从html中可用的所有
[“1”、“2”、“3”]
,它基本上包含存储在此对象数组中的记录的引用:
[
{ id: 1, name: "John" },
{ id: 2, name: "Patrick" },
{ id: 3, name: "Jack" },
{ id: 4, name: "Paula" },
{ id: 5, name: "Sarah" }
]
我想从对象数组返回缺少的引用,因此结果将是:4,5
。到目前为止,我实现的是从html中可用的所有select
中获取第一个数组的所有选定值:
var selected_options = $('.options-picker')
.map(function() { return this.value}).get();
这将返回1、2、3
。如何从对象数组中提取4、5
提前感谢。使用和对照数组中的值检查对象ID
const数据=[
{id:1,名字:“约翰”},
{id:2,名字:“Patrick”},
{id:3,名字:“杰克”},
{id:4,姓名:“Paula”},
{id:5,名字:“Sarah”}
];
常量项=[1,2,3];
const out=data.filter(obj=>!items.includes(obj.id));
控制台。注销代码>使用和对照数组中的值检查对象ID
const数据=[
{id:1,名字:“约翰”},
{id:2,名字:“Patrick”},
{id:3,名字:“杰克”},
{id:4,姓名:“Paula”},
{id:5,名字:“Sarah”}
];
常量项=[1,2,3];
const out=data.filter(obj=>!items.includes(obj.id));
控制台。注销代码>这样就可以了
var a=[
{ id: 1, name: "John" },
{ id: 2, name: "Patrick" },
{ id: 3, name: "Jack" },
{ id: 4, name: "Paula" },
{ id: 5, name: "Sarah" }
]
var b=['1', '2', '3'];
a.forEach((e)=>{
if(b.indexOf(e.id.toString())==-1)
{
b.push(e.id);
}
})
alert(b)
这就行了
var a=[
{ id: 1, name: "John" },
{ id: 2, name: "Patrick" },
{ id: 3, name: "Jack" },
{ id: 4, name: "Paula" },
{ id: 5, name: "Sarah" }
]
var b=['1', '2', '3'];
a.forEach((e)=>{
if(b.indexOf(e.id.toString())==-1)
{
b.push(e.id);
}
})
alert(b)