Tạo Mảng liên kết trong JavaScript – js tạo mảng kết hợp

Hướng dẫn này chỉ cho bạn cách bạn có thể xây dựng các mảng liên kết trong JavaScript bằng cách sử dụng các đối tượng và Map ().

Bạn đang xem : js tạo mảng kết hợp

Hầu hết các ngôn ngữ lập trình đều có cấu trúc dữ liệu cho phép bạn lưu trữ dữ liệu ở định dạng khóa-giá trị. Ví dụ: Python có các từ điển cho phép bạn liên kết một chuỗi với một giá trị hoặc danh sách các giá trị.

JavaScript có đối tượng Map đạt được điều tương tự, cũng giữ nguyên lưu ý rằng chức năng này không tương thích với các trình duyệt cũ hơn. Về mặt lịch sử, các đối tượng đơn giản đã được sử dụng để tạo các mảng liên kết trong JavaScript vì về mặt kỹ thuật, chúng thực hiện điều tương tự.

Mặt khác, việc sử dụng các đối tượng chung cho mục đích này đôi khi có thể khá khó hiểu. Ngay cả phương thức Map cũng có vấn đề, đặc biệt nếu bạn chưa quen với ngôn ngữ này và đã quen với một số quy ước nhất định.

Tạo Mảng liên kết trong JavaScript Sử dụng Đối tượng Bản đồ

Cách đầu tiên và đúng đắn nhất để xử lý mảng liên kết trong JavaScript là tạo < đối tượng mã> Bản đồ . Phương pháp này có một số ưu điểm so với các đối tượng thông thường, chẳng hạn như thực tế là các khóa không bị giới hạn ở các chuỗi – chúng có thể là các hàm, các đối tượng khác và khá nhiều thứ nguyên thủy khác.

Ngoài ra, Bản đồ < / code> các đối tượng cũng có thể lặp lại từ đầu. Được cho là, bạn có thể lặp lại các thuộc tính của đối tượng bằng vòng lặp for in , nhưng đó không phải lúc nào cũng là một giải pháp tốt.

Như vậy, đây là cách bạn có thể tạo và điền một mảng kết hợp trong JavaScript:

  const myMap = new Map ();

myMap.set ("firstItem", 1);
myMap.set ("secondItem", 2);
myMap.set ("thirdItem", "thứ ba");

console.log ([... myMap]);
 

Đầu ra:

  [["firstItem", 1], ["secondItem", 2], ["thirdItem ", "ngày thứ ba"]]
 

Để tạo các mục nhập khóa / giá trị, bạn có thể sử dụng phương thức set () . Lưu ý thêm, cú pháp [... myMap] được sử dụng trong đoạn mã trên hoạt động vì Map triển khai phương thức @@ iterator trong mui xe. Đó là thứ làm cho nó khác biệt với các đối tượng thông thường vì bạn phải tạo một vòng lặp for in rõ ràng.

Nếu bạn muốn truy xuất một giá trị cụ thể, bạn có thể sử dụng get ( ) phương thức:

  const myMap = new Map ();

myMap.set ("firstItem", 1);
myMap.set ("secondItem", 2);
myMap.set ("thirdItem", "thứ ba");

console.log (myMap.get ("firstItem"));
 

Đầu ra:

  1
 

Các phương pháp hữu ích khác bao gồm has () , kiểm tra xem đối tượng Bản đồ của bạn có một khóa cụ thể hay không và xóa ( ) , cho phép bạn xóa các khóa khỏi đối tượng.

Tránh sử dụng ký hiệu ngoặc nhọn khi xử lý các đối tượng Bản đồ trong JavaScript

Tất cả chúng ta đều biết rằng JavaScript chứa đầy các hành vi kỳ lạ và các đối tượng Bản đồ cũng không khác gì , thật không may.

Nếu bạn có chút kiến ​​thức nền tảng về Python, bạn có thể bị cám dỗ để sử dụng một cái gì đó như myMap ["firstItem"] = 1 để đặt Bản đồ cặp khóa / giá trị. Đây cũng là một cách tiếp cận hợp lệ khi xử lý các đối tượng chung chung.

Tin tốt là điều này sẽ không gây ra bất kỳ lỗi nào, và nó dường như sẽ hoạt động như dự định lúc đầu. Đây là ví dụ trên được cấu trúc lại bằng cách sử dụng ký hiệu ngoặc:

  const myMap = new Map ();

myMap ["firstItem"] = 1;
myMap ["secondItem"] = 2;
myMap ["thirdItem"] = "thứ ba";

console.log (myMap);
 

Đầu ra:

  [object Map] {
  firstItem: 1,
  secondItem: 2,
  thirdItem: "thứ ba"
}
 

Tin xấu là đây không còn là kiểu cấu trúc dữ liệu cũ nữa. Thay vào đó, điều này đã được chuyển đổi thành một đối tượng chung. Do đó, nếu bạn lặp lại trên Bản đồ, nó sẽ không hoạt động nữa.

Ngoài ra, phương thức has () cũng sẽ không trả lại kết quả mong muốn như bạn có thể xem trong đoạn mã bên dưới:

  const myMap = new Map () ;

myMap ["firstItem"] = 1;
myMap ["secondItem"] = 2;
myMap ["thirdItem"] = "thứ ba";

console.log (myMap.has ("firstItem"));
 

Đầu ra:

  false
 

Tóm lại, bạn nên tránh sử dụng ký hiệu dấu ngoặc khi xử lý Bản đồ ; nếu không, mã của bạn có thể không hoạt động như dự định.

Tạo Mảng liên kết trong JavaScript bằng Đối tượng Chung

Cho đến vài năm trước, phương thức Bản đồ được mô tả ở trên không tương thích với hầu hết các trình duyệt, vì vậy các lập trình viên đã sử dụng các đối tượng chung thay thế. Về lý thuyết, không có gì sai với cách tiếp cận này, nhưng bạn nên cố gắng sử dụng Map trong hầu hết các trường hợp nếu tính tương thích ngược không phải là vấn đề.

Đây là cách bạn có thể tạo một liên kết mảng trong JavaScript sử dụng các đối tượng:

  const myMap = {};

myMap.firstItem = 1;
myMap.secondItem = 2;
myMap.thirdItem = "thứ ba";

console.log (myMap);
 

Đầu ra:

  {firstItem: 1, secondItem: 2, thirdItem: "third"}
 

Ở đây chúng tôi đã sử dụng ký hiệu dấu chấm để thêm các thuộc tính vào đối tượng của chúng tôi. Nếu bạn muốn sử dụng chuỗi làm khóa, phương pháp này sẽ không hoạt động như dự kiến ​​nếu chuỗi của bạn chứa khoảng trắng.

Đối với những trường hợp đó, bạn có thể sử dụng phương thức dấu ngoặc như chi tiết bên dưới:

  const myMap = {};

myMap ["mục đầu tiên"] = 1;
myMap ["mục thứ hai"] = 2;
myMap ["mục thứ ba"] = "thứ ba";

console.log (myMap);
 

Đầu ra:

  {mục đầu tiên: 1, mục thứ hai: 2, mục thứ ba: "third"}
 

JavaScript chấp nhận cả hai phương thức có thể gây nhầm lẫn trong một số trường hợp. Nếu bạn thực sự muốn sử dụng chuỗi làm khóa trong các mảng liên kết của mình, thì ký hiệu dấu ngoặc là cách để thực hiện vì ký hiệu dấu chấm rất hạn chế.

Mặt khác, ký hiệu dấu ngoặc vuông làm cho các đối tượng JavaScript trông giống rất nhiều giống từ điển cổ điển, nhưng chúng không giống như vậy. Do đó, sử dụng phương thức Map bất cứ khi nào bạn có cơ hội luôn là một ý tưởng tốt hơn nhiều.

Viết cho chúng tôi

Các bài viết về DelftStack được viết bởi những người yêu thích phần mềm như bạn. Nếu bạn cũng muốn đóng góp cho DelftStack bằng cách viết các bài báo trả phí, bạn có thể xem trang viết cho chúng tôi .


Xem thêm những thông tin liên quan đến chủ đề js tạo mảng kết hợp

JavaScript Array Reduce

  • Tác giả: Programming with Mosh
  • Ngày đăng: 2018-05-15
  • Đánh giá: 4 ⭐ ( 7561 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: JavaScript Array Reduce

    🔥Get the COMPLETE course (83% OFF - LIMITED TIME ONLY): http://bit.ly/2KZea52

    Subscribe for more videos:
    https://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA?sub_confirmation=1

    Want to learn more from me? Check out my blog and courses:

    http://programmingwithmosh.com
    https://www.facebook.com/programmingwithmosh/
    https://twitter.com/moshhamedani

Mảng (Array) trong JavaScript

  • Tác giả: freehost.page
  • Đánh giá: 3 ⭐ ( 9228 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Mảng trong javascript

  • Tác giả: toidicode.com
  • Đánh giá: 4 ⭐ ( 1138 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Ở phần hằng và biến trong javascript mình cũng có nói qua về cách khai báo mảng trong javascript rồi. Nhưng đó mới chỉ là mức độ khai báo còn sử dụng thì mình chưa nói, nên bài này mình sẽ giới thiệu lại với mọi người về mảng trong javascript một cách chi tiết hơn.

Mảng trong JavaScript | JS ARRAY

  • Tác giả: hanoiict.edu.vn
  • Đánh giá: 4 ⭐ ( 3516 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong hướng dẫn tự học Javascript này, bạn sẽ tìm hiểu về Mảng (Hay còn gọi là Array), cách tạo và thao tác với Mảng trong JavaScript.

Cách hợp nhất hai đối tượng trong JavaScript

  • Tác giả: tech-wiki.online
  • Đánh giá: 5 ⭐ ( 3878 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

  • Tác giả: www.homiedev.com
  • Đánh giá: 5 ⭐ ( 6648 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Mảng (Array) trong JavaScript

  • Tác giả: quantrimang.com
  • Đánh giá: 3 ⭐ ( 5383 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Đối tượng Array - Mảng giúp bạn lưu giữ nhiều giá trị trong một biến đơn. Nó lưu giữ một tập hợp theo dãy có kích cỡ cố định của các phần tử trong cùng kiểu (type). Một mảng được sử dụng để lưu một tập hợp dữ liệu, nhưng nó thường hữu ích hơn để nghĩ một mảng như là một tập hợp của các biến trong cùng một kiểu.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Cách cắt và lập chỉ mục chuỗi trong Python - lập chỉ mục và cắt chuỗi python