JavaScript数组对象筛选:基于字段匹配与排除的实现
作者:异步漫步时间:2026-10-26 07:37:07浏览:591
本文介绍在JavaScript中处理两个数组对象时,如何根据特定字段进行筛选。通过结合filter、some和every方法,可以分别获取数组1中与数组2字段匹配的元素,以及未被匹配到的剩余元素。
在JavaScript开发中,经常需要对两个包含对象的数组进行数据比对与筛选。
const arr1 = [
{id: 1, name: 'aaa'},
{id: 2, name: 'bbb'},
{id: 3, name: 'ccc'},
{id: 4, name: 'ddd'}
]
const arr2 = [
{uid: 2, uname: 'eee'},
{uid:4, uname: 'fff'}
]实现逻辑是遍历第一个数组,判断其元素是否在第二个数组中存在对应的字段匹配值,并返回所有符合条件的第一个数组元素。
/**
* 两个数组对象通过某一字段比较返回数组1中符合条件的
* @param arr1 数组1
* @param arr2 数组2
* @returns {*}
*/
function fun1(arr1, arr2) {
return arr1.filter(v => arr2.some(val => val.uid === v.id))
}
console.log(fun1(arr1, arr2))执行上述逻辑后,控制台输出匹配到的元素集合。

另一种常见需求是获取第一个数组中,在第二个数组里找不到对应字段匹配值的剩余元素。
/**
* 两个数组对象通过某一字段比较返回数组1中剩余的
* @param arr1 数组1
* @param arr2 数组2
* @returns {*}
*/
function fun2(arr1, arr2) {
return arr1.filter(v => arr2.every(val => val.uid !== v.id))
}执行排除逻辑后,控制台输出未被匹配的元素集合。

关于JavaScript数组对象筛选的上述方法介绍完毕,更多相关JS数组对象筛选内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
作者最新文章
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
