gpt4 book ai didi

javascript - 如何使用数组包含函数检查对象数组中的对象相等性?

转载 作者:行者123 更新时间:2023-12-01 15:02:35 25 4
gpt4 key购买 nike

我想检查一个数组是否包含作为参数提供给 js 包含函数的对象。例如:

let arr = [
{'name': 'max', 'age': '20'},
{'name': 'max', 'age': '21'},
{'name': 'jane', 'age': '22'}];
console.log(arr.includes({'name': 'max', 'age': '21'})); // FALSE

这给了我“错误”的值(value)。如何在没有 for 循环 eq 的情况下检查对象数组中的对象相等性。

最佳答案

你可以写一个通用的函数,比如

let matches = flt => x => Object.keys(flt).every(k => flt[k] === x[k]);

然后

arr.some(matches({'name': 'max', 'age': '21'}))

这会执行浅层的、部分的比较。如果您需要其他模式,如完整和/或深度比较,这将难以实现。在这种情况下,我建议使用 lodash (_.isMatching, _.isEqual)。

关于javascript - 如何使用数组包含函数检查对象数组中的对象相等性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56686589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com