Cấu trúc dữ liệu là xương sống của bất kỳ ngôn ngữ lập trình nào. Ví dụ bao gồm danh sách được liên kết, cây, ngăn xếp, hàng đợi và đồ thị. Trong bài này, bạn sẽ học cách sử dụng bản đồ và thiết lập cấu trúc dữ liệu trong JavaScript.
Vào năm 2015, JavaScript đã giới thiệu ES6 để cung cấp cho các nhà phát triển trải nghiệm viết mã nâng cao. ES6 đã giới thiệu các bản đồ và tập hợp để các nhà phát triển không cần phải xây dựng chúng bằng các kiểu dữ liệu nguyên thủy. Chúng ta hãy xem xét chúng chi tiết hơn.
Hiểu Bản đồ bằng JavaScript
Bản đồ là một kiểu cấu trúc dữ liệu lưu trữ các cặp khóa-giá trị. Đây là một trong những phương pháp hiệu quả nhất để tìm kiếm và truy xuất dữ liệu. Bạn có thể lưu trữ tất cả các loại dữ liệu trong bản đồ JavaScript.
Hãy xem một số phương pháp mà bạn có thể thực hiện trên bản đồ JavaScript.
Liên quan: Cách xây dựng cấu trúc dữ liệu với lớp JavaScript ES6
1 bộ()
Bạn có thể chèn một cặp khóa-giá trị vào bản đồ bằng phương thức set () . Phương thức này nhận hai đối số: khóa và giá trị.
Hãy xem đoạn mã dưới đây cho bạn biết cách chèn vào bản đồ.
let map = new Map(); map.set("fruit1", "Grapes"); map.set("fruit2", "Mango"); map.set("fruit3", "Strawberry"); map.set("fruit4", "Mango"); console.log(map)
Kết quả đầu ra sau khi in bản đồ:
Map { 'fruit1' => 'Grapes', 'fruit2' => 'Mango', 'fruit3' => 'Strawberry', 'fruit4' => 'Mango' }
2. xóa ()
Để xóa một phần tử khỏi bản đồ, hãy sử dụng phương thức delete () . Phương thức này chấp nhận một đối số: khóa của dữ liệu bạn muốn xóa. Nếu khóa tồn tại, phương thức này sẽ xóa mục nhập đó khỏi bản đồ và trả về true. Nếu không, nó trả về false.
console.log("Is the fruit1 deleted", map.delete("fruit1")); console.log(map)
Kết quả sau khi xóa fruit1 :
Is the fruit1 deleted true Map { 'fruit2' => 'Mango', 'fruit3' => 'Strawberry', 'fruit4' => 'Mango' }
3. get ()
Phương thức get () truy xuất giá trị của khóa được chỉ định. Giống như phương thức delete () , nó chấp nhận một đối số: khóa.
console.log(map.get("fruit2"))
Tạo ra kết quả sau:
Mango
4. kích thước ()
Phương thức size () trả về số lượng các cặp khóa-giá trị có trong bản đồ.
let map = new Map(); map.set("fruit1", "Grapes"); map.set("fruit2", "Mango"); map.set("fruit3", "Strawberry"); map.set("fruit4", "Mango"); console.log("The size of the map is", map.size)
Cho kết quả sau:
The size of the map is 4
5. rõ ràng ()
Để xóa tất cả các phần tử khỏi bản đồ, hãy sử dụng phương thức clear () .
map.clear() console.log(map)
Kết quả của bản đồ sau khi xóa tất cả các mục:
Map {}
6. có ()
Phương thức has () giúp bạn kiểm tra xem khóa có tồn tại trong bản đồ hay không. Nó trả về một giá trị boolean tùy thuộc vào sự tồn tại của một mục trong bản đồ. Phương thức này chấp nhận một đối số: khóa cần tìm kiếm.
console.log("The grapes exists:", map.has("fruit1"))
Tạo ra kết quả sau với bản đồ ví dụ của chúng tôi:
The grapes exists: true
7. các phím ()
Phương thức key () trả về một trình vòng lặp có tất cả các khóa trong đó. Bạn có thể lặp lại chúng để có quyền truy cập vào một khóa riêng lẻ.
const keys = map.keys(); for (let k of keys) { console.log(k); }
Đầu ra của đoạn mã trên là:
fruit1 fruit2 fruit3 fruit4
8. giá trị
Phương thức giá trị () trả về một trình lặp với tất cả các giá trị trong đó.
const values = map.values(); for (let v of values) { console.log(v); }
Đầu ra của đoạn mã trên là:
Grapes Mango Strawberry Mango
Hiểu bộ trong JavaScript
Cấu trúc dữ liệu tập hợp có các giá trị duy nhất, có nghĩa là không có giá trị nào có thể lặp lại. Bạn có thể lưu trữ tất cả các loại giá trị trong một tập hợp bao gồm các giá trị nguyên thủy và các đối tượng.
Liên quan: Cách loại bỏ các phần tử trùng lặp khỏi một mảng trong JavaScript, Python và C ++
Hãy để chúng tôi xem xét một số phương pháp trong bộ:
1. thêm ()
Phương thức add () giúp bạn thêm dữ liệu vào tập hợp. Nếu bạn cố gắng thêm dữ liệu trùng lặp, tập hợp sẽ đơn giản bỏ qua nó.
let s = new Set(); s.add(1); s.add(2); s.add(3); s.add(4); s.add(4); console.log(s);
Cung cấp đầu ra:
Set { 1, 2, 3, 4 }
2. xóa ()
Phương thức delete () xóa giá trị được chỉ định khỏi tập hợp.
s.delete(3); console.log(s);
Kết quả sau khi xóa 3:
Set { 1, 2, 4 }
3. có ()
Phương thức has () giúp bạn kiểm tra xem một giá trị có tồn tại trong tập hợp hay không.
console.log(s.has(1))
Kết quả của đoạn mã trên là đúng .
4. clear ()
Phương thức clear () giúp bạn xóa tất cả các mục trong tập hợp.
s.clear(); console.log(s);
Kết quả đầu ra sau khi xóa tất cả các mục trong tập hợp:
Set {}
Tìm hiểu thêm về ES6
Bây giờ bạn đã học cách sử dụng bản đồ và tập hợp trong JavaScript, đã đến lúc bạn triển khai chúng trong các dự án của mình. Bạn có thể sử dụng chúng trong khi giải quyết các vấn đề về cấu trúc dữ liệu và thuật toán. Bạn có thể sử dụng bản đồ để triển khai thuật toán băm.
Bạn muốn tìm hiểu thêm về ES6? Hãy xem bài viết dưới đây sẽ cho bạn biết tất cả về điều đó.