【发布时间】:2025-12-01 17:45:01
【问题描述】:
有没有办法让Array.prototype.includes() 也可以通过提供等于+哈希谓词来处理非原始对象?
例如给定一个列表:
var list = [{id:111},{id:222},{id:333}];
console.log(list.includes({id:333});
// output: false
从上面的例子看来,相等是由对象标识(即内存地址)而不是由值完成的,这当然是完全有意义的,也是预期的。但是有没有办法为list.includes() 提供一个相等函数,以便使用id 的原始值来确定相等?
Arrays.includes() 文档没有提到任何关于接受相等谓词的内容。
【问题讨论】:
标签: javascript arrays equals contains predicate