JavaScript数组对象筛选:基于字段匹配与排除的实现

作者:异步漫步

时间:2026-10-26

浏览:592

本文介绍在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))

执行上述逻辑后,控制台输出匹配到的元素集合。

在JavaScript开发中,经常需要对两个包含对象的数组进行数据比对与筛选。

另一种常见需求是获取第一个数组中,在第二个数组里找不到对应字段匹配值的剩余元素。

/**
 * 两个数组对象通过某一字段比较返回数组1中剩余的
 * @param arr1 数组1
 * @param arr2 数组2
 * @returns {*}
 */
function fun2(arr1, arr2) {
    return arr1.filter(v => arr2.every(val => val.uid !== v.id))
}

执行排除逻辑后,控制台输出未被匹配的元素集合。

在JavaScript开发中,经常需要对两个包含对象的数组进行数据比对与筛选。

关于JavaScript数组对象筛选的上述方法介绍完毕,更多相关JS数组对象筛选内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章