如何找出数组中未存在于对象id属性中的数值?
解决方法
可以通过以下步骤快速找出目标数值:
- 第一步:从对象数组中提取所有已存在的
id,存入一个集合(或数组)用于快速查找 - 第二步:遍历数值数组,筛选出不在上述集合中的元素
代码示例(JavaScript)
先定义你的两个数组:
// 对象数组 const objArray = [ {id: 60, itemName: 'Main Location - 1100 Superior Road - Cleveland'}, {id: 1456, itemName: 'Third Location - 107,West 20th Street,Manhattan - New York'} ]; // 数值数组 const numArray = [60, 1453, 1456];
高效写法(用Set提升查找速度)
// 提取所有已存在的id到Set const existingIds = new Set(objArray.map(item => item.id)); // 筛选出不在Set中的数值 const result = numArray.filter(num => !existingIds.has(num)); console.log(result); // 输出: [1453]
简易写法(数据量小时可用)
如果数据量不大,也可以直接用数组的includes方法:
const existingIds = objArray.map(item => item.id); const result = numArray.filter(num => !existingIds.includes(num)); console.log(result); // 输出: [1453]
如果只需要单个结果值(比如示例中只有一个目标值),可以直接取result[0]拿到1453。
内容的提问来源于stack exchange,提问作者noclist
相关产品推荐
相关产品推荐

