Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm object key trong Set JavaScript

Set.prototype.has() kiểm tra membership. Với object: **phải truyền chính reference object đó** — object khác nhưng cùng nội dung không bằng nhau (so sánh reference).

Ví dụ

let mySet = new Set();
let myObj = {name: "John"};

mySet.add(1);
mySet.add(3);
mySet.add("a");
mySet.add(myObj);

console.log(mySet);                    // Set { 1, 3, 'a', {name: "John"} }
console.log(mySet.has(myObj));         // true (cùng reference)
console.log(mySet.has({name: "John"})); // false (object khác reference)

Kết luận: Set dùng SameValueZero algorithm — object so sánh bằng reference, không phải deep equality.