Set và Map là hai cấu trúc dữ liệu mới được giới thiệu trong ECMAScript 6 (ES6) hay ECMAScript 2015 (ES2015). Chúng cung cấp những cách linh hoạt và hiệu quả để lưu trữ và quản lý tập hợp dữ liệu, khác biệt với mảng và đối tượng truyền thống.
Set là gì và cách dùng như thế nào
Set là một đối tượng lưu trữ các giá trị mà các giá trị này là duy nhất (không trùng lặp). Set cho phép lưu trữ bất kì loại giá trị nào.
Cú pháp khai báo:
const set = new Set()
// hoặc
const set = new Set(array)
Các thuộc tính và phương thức của Set
- Thêm giá trị vào Set: set.add(value)
- Xóa giá trị khỏi Set: set.delete(value)
- Xóa tất cả phần tử trong Set: set.clear()
- Kiểm tra phần tử có trong Set hay không: set.has(value) // trả về kết quả true hoặc false tương ứng với có tồn tại và không tồn tại
- Kiểm tra số lượng phần tử trong Set: set.size
Đặc điểm:
- Không thể truy cập trực tiếp phần tử trong Set nhưng có thể duyệt qua Set bằng for
const set = new Set([5,6,7,1,9])
for (const item of set){
console.log(item)
}
// Output
5
6
7
1
9
- Có thể tạo mảng mới tử Set với cú pháp Spread
const set = new Set([5,6,7,1,9])
const arr = [...set]
console.log(arr) // [5,6,7,1,9]
Map là gì và cách dùng như thế nào
Map là một tập hợp các cặp key-value, trong đó key có thể là bất kỳ kiểu dữ liệu nào
Cách khai báo Map
const map= new Map()
// hoặc
const map= new Map(array) // Mảng array là mảng bao gồm 2 phần tử. Phần tử đầu tiên đóng vai trò là key và phần tử thứ 2 đóng vai trò là value
Các thuộc tính và phương thức của Map
- Thêm 1 cặp key-value vào Map: map.set(key,value)
- Trả về giá trị tương ứng với key: map.get(key) // Nếu không có key, trả về undefined.
- Kiểm tra xem Map có chứa key hay không: map.has(key)
- Xóa cặp key-value khỏi Map: map.delete(key)
- Xóa tất cả các cặp key-value khỏi Map: map.clear()
- Trả về số lượng cặp key-value trong Map: map.size