数组对象中的javascript数组对象

标签 javascript jquery loops object nested-loops

我无法理解这个。有人可以给我展示一个执行此操作的函数的示例吗?我需要一个 javascript 函数来执行此操作

如果所有 array1s 值与 array2s 值匹配,则返回 true 如果没有/部分匹配,则返回不匹配的 array1s 值

array1 = [{name:'joe'},{name:'jill'},{name:'bob'}]
array2 = [{name:'joe'},{name:'jason'},{name:'sam'}]

match(array1, array2) 

//if fails returns [{name:'jill'}, {name:'bob'}]
//if success returns true

请帮助我的大脑受伤XD

谢谢

编辑:很抱歉在对象具有一些不同的其他属性之前没有这么说。所以给定的对象可能看起来像

array1x = [{name:'joe', id:33},{name:'jill'},{name:'bob'}]
array2x = [{name:'joe', state:'fl'},{name:'jill'},{name:'bob'}]

我需要只匹配对象内的名称属性

最佳答案

Array.prototype.filter() + Array.prototype.some() =

function match(arr1, arr2) {
    var notFound = arr1.filter(function(obj1) {
        return !arr2.some(function(obj2) {
            return obj2.name == obj1.name;
        });
    });

    return !notFound.length || notFound;
}

fiddle

关于数组对象中的javascript数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22541284/

相关文章:

javascript - ramda.js 中是否有相当于 mapValues 的函数(类似于 lodash)?

javascript - 如何使用 JSX 'collected' 将 React 元素上的属性定义为单个对象?

javascript - 禁用 bootstrap-duallistbox

javascript - 检查浏览器是否已完成页面加载

c# - 在 C# 的控制台应用程序中打印从 1 到 1000 的数字

Jquery:将链接标记为已访问而不打开它们?

javascript - X 秒后过期或超时永不结束循环

javascript - 访问三元数组中对象的属性

javascript - 使用 JS 检测特定错误(403)

python - 为什么通过 for 循环第一次返回正确的计数值?