Làm cách nào bạn có thể loại bỏ các giá trị trùng lặp khỏi mảng javascript?

Bạn có phải là nhà phát triển web?

Một trong những vấn đề được hỏi nhiều trong các cuộc phỏng vấn bằng bất kỳ ngôn ngữ lập trình nào [chúng ta sẽ nói về JavaScript ở đây] là tìm các phần tử duy nhất trong một mảng hoặc loại bỏ các phần tử trùng lặp khỏi một mảng

Vì vậy, bài viết này sẽ hướng dẫn bạn ba phương pháp đơn giản để thực hiện nó từ đầu. Nào,

Trước khi chúng tôi bắt đầu, đây chỉ là một đề xuất, hãy sử dụng Visual Studio Code vì đây là trình chỉnh sửa tốt nhất cho mọi thứ, đặc biệt là các nội dung liên quan đến phát triển web. Hãy xem qua những thứ liên quan đến thiết lập mà một người nên làm. Vì vậy, nếu bạn chạy bất kỳ chương trình JavaScript nào trong đó hoặc nếu bạn là người mới bắt đầu sử dụng chương trình đó, thì bạn nên làm những việc sau để mọi thứ suôn sẻ,

  1. Cài đặt tiện ích mở rộng này trong Visual Studio Code.
  2. Để chạy chương trình của bạn, chỉ cần “Mở Terminal mới” rồi viết nút. Hãy chắc chắn rằng bạn đã cài đặt nút. js trên hệ thống của bạn
  3. Để tham khảo thêm, bạn có thể truy cập tại đây
Bây giờ, hãy quay lại vấn đề ba cách đơn giản để giải quyết câu hỏi được hỏi rộng rãi về việc loại bỏ các bản sao trong mảng trong JavaScript như sau,

Trước hết, chúng ta sẽ khai báo một mảng có các phần tử trùng lặp là động vật và một mảng có tất cả các phần tử duy nhất là duy nhất trong tất cả các phương thức mà chúng ta sẽ thảo luận

Sử dụng Bộ


Đối tượng Set lưu trữ các giá trị duy nhất thuộc bất kỳ loại nào, cho dù là giá trị nguyên thủy hay tham chiếu đối tượng

Tại đây, để loại bỏ các giá trị trùng lặp, chúng tôi chuyển đổi mảng động vật thành Tập hợp. Set mới sẽ ngầm loại bỏ các phần tử trùng lặp. Sau đó, chúng tôi sẽ chuyển đổi tập hợp này trở lại mảng duy nhất

Bạn có thể thắc mắc những … hoặc ba dấu chấm hoặc cú pháp lan truyền kỹ thuật này là gì trong JavaScript. Chà, nó nhận vào một thực thể có thể lặp lại như mảng hoặc danh sách, v.v. và mở rộng nó thành các phần tử riêng lẻ

  1. để động vật = ["Sư tử", "Thỏ", "Chuột", "Khỉ", "Sư tử","Vượn"]
  2. để duy nhất = [. Bộ mới[động vật]]
  3. bảng điều khiển. nhật ký [duy nhất]
  4. đầu ra. ['Sư tử', 'Thỏ', 'Chuột', 'Khỉ', 'Vượn']

Sử dụng bộ lọc


Để theo phương pháp này, hãy hiểu những gì và tại sao các phương pháp đã được sử dụng,

Chỉ số[]

Phương thức này trả về chỉ số của lần xuất hiện đầu tiên của một phần tử trong một mảng. Logic chúng tôi đã sử dụng rằng mục trùng lặp là mục có chỉ mục khác với giá trị indexOf[] của nó, từ đây chúng tôi trả về phần tử có chỉ mục hiện tại và giá trị indexOf[] bằng nhau

lọc[]

Để loại bỏ các bản sao, chúng tôi sử dụng phương thức filter[] để chỉ bao gồm các phần tử có chỉ mục hiện tại khớp với giá trị indexOf[] của chúng. Chúng tôi đã lưu trữ các giá trị đó trong một mảng có tên duy nhất và trả về chúng bằng cách gọi hàm filter[]

Để hiểu rõ hơn, trong ví dụ của chúng tôi, chúng tôi có như thế này,

Chỉ mục hiện tại -> indexOf[],

  • Đối với giá trị “Lion”, chúng ta có. 0 -> 0, 4 -> 0. [Bình đẳng không tồn tại]
  • Đối với giá trị “Con thỏ”, ta có. 1 -> 1. [Bình đẳng nắm giữ, yếu tố duy nhất]
  • Đối với giá trị "Chuột", chúng tôi có. 2 -> 2. [Bình đẳng nắm giữ, yếu tố duy nhất]
  • Với giá trị “Monkey”, ta có. 3->3. [Bình đẳng nắm giữ, yếu tố duy nhất]
  • Với giá trị “Ape”, ta có. 5 -> 5. [Bình đẳng nắm giữ, yếu tố duy nhất]
Filtered these unique elements and stored them in a unique array and returned them.

  1. để động vật = ["Sư tử", "Thỏ", "Chuột", "Khỉ", "Sư tử","Vượn"]
  2. hãy sử dụngBộ lọc = [] => {
  3. trả về duy nhất = động vật. bộ lọc [chức năng [mục, chỉ mục] {
  4. trả lại động vật. indexOf[item] == index;
  5. }];
  6. }
  7. bảng điều khiển. nhật ký [sử dụng Bộ lọc []]
  8. đầu ra. ['Sư tử', 'Thỏ', 'Chuột', 'Khỉ', 'Vượn']

Nếu chúng ta cần tìm các bản sao trong một mảng bằng phương pháp này, chúng ta chỉ cần đảo ngược điều kiện đẳng thức [==] đó thành [. =] và chúng ta bắt đầu

Sử dụng forEach


Hãy cùng tìm hiểu lại những thuật ngữ chúng ta đã sử dụng ở đây,
  1. forEach
    Thuật ngữ này được sử dụng để lặp lại từng phần tử của một mảng động vật.
  2. includes[]
    Trả về true nếu một phần tử nằm trong một mảng hoặc ngược lại.
  3. push[]
    Nó thêm các mục mới vào cuối mảng.
The logic behind this method is that we declared a null unique array, then we iterate each & every element of the animal array and then check if the unique array includes [or has] that element or not. If not, then if the condition becomes true, then we push that element into a unique array. So, through this process, we get all the unique elements in the unique array and printed them.

  1. để động vật = ["Sư tử", "Thỏ", "Chuột", "Khỉ", "Sư tử","Vượn"]
  2. để duy nhất = [];
  3. loài vật. forEach[[item] => {
  4. nếu[. độc nhất. bao gồm [mục]]{
  5. độc nhất. đẩy [mục];
  6. }
  7. }];
  8. bảng điều khiển. nhật ký [duy nhất];
  9. đầu ra. ['Sư tử', 'Thỏ', 'Chuột', 'Khỉ', 'Vượn']

Bạn có thể tìm mã nguồn cho tất cả các phương pháp trên tại đây

Do đó, chúng ta đã học được ba phương pháp quan trọng, ngắn gọn và dễ nắm bắt để loại bỏ các phần tử trùng lặp khỏi một mảng hoặc tìm các phần tử trùng lặp hoặc duy nhất trong một mảng. Cũng có nhiều phương pháp khác để làm những việc tương tự nhưng đây là những phương pháp dễ nhớ. Nếu bạn tìm thấy thêm, xin vui lòng thả xuống dưới trong các ý kiến

Chủ Đề