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

Xóa phần tử khỏi Set trong JavaScript

Set trong JavaScript (ES6+) là tập hợp giá trị duy nhất (unique). Phương thức delete(value) xóa phần tử nếu tồn tại.

Cú pháp

set.delete(value)
  • Trả về true nếu xóa thành công (phần tử tồn tại).
  • Trả về false nếu phần tử không tồn tại.

Ví dụ cơ bản (ES6 Set)

const mySet = new Set([1, 2, 5, 6]);
console.log(mySet.has(5)); // true

mySet.delete(5);
console.log(mySet.has(5)); // false
console.log(mySet.has(20)); // false
console.log(mySet.has(1));  // true

// Xóa phần tử không tồn tại
mySet.delete(99); // false, không lỗi

Triển khai thủ công (Custom Set class) - học tập

class MySet {
  constructor() {
    this.container = {}; // Dùng object làm hash map
  }
  
  has(val) {
    return this.container.hasOwnProperty(val);
  }
  
  delete(val) {
    if (this.has(val)) {
      delete this.container[val];
      return true;
    }
    return false;
  }
  
  // ... add, clear, forEach, static union/difference
}

Lưu ý

  • Set dùng **SameValueZero** algorithm so sánh (gần như === nhưng NaN === NaN là true).
  • Không có index, không thể xóa bằng vị trí (chỉ bằng giá trị).
  • clear() xóa toàn bộ.
  • Duyệt: for (const v of set) hoặc set.forEach(cb).