Remove Array Duplicates trong ES6

3645
remove array duplicates trong es6
Dưới đây là ba cách để lọc các bản sao từ một mảng và chỉ trả về các giá trị duy nhất

Sử dụng Set

Set là một đối tượng dữ liệu mới được giới thiệu trong ES6, Set chỉ cho phép bạn lưu trữ các giá trị duy nhất. Khi bạn truyền vào một mảng, nó sẽ xóa mọi giá trị trùng lặp. (Xem thêm các mẹo với ES6)

  • Đầu tiên, chúng ta tạo một Set mới bằng cách truyền vào một mảng vì Set chỉ cho phép các giá trị duy nhất, tất cả các bản sao sẽ bị xóa.
  • Sau khi các bản sao đã biến mất, ta sẽ chuyển đổi nó trở lại thành một mảng bằng cách sử dụng operator …

  • Ngoài ra, bạn cũng có thể sử dụng Array.fromđể chuyển đổi Set thành một mảng:

Sử dụng filter

  Giảm tần suất gọi hàm với Throttle và Debounce trong Javascript
  • Để hiểu được nó , chúng ta hãy tìm hiểu qua 2 phương thức này:
  • indexOf:
  • Phương thức indexOf() trả về index đầu tiên mà nó tìm thấy trong phần tử được cung cấp từ mảng.

  • filter:
  • Phương thứcfilter() tạo ra một mảng các phần tử mới vượt qua điều kiện mà chúng ta cung cấp. Nói cách khác, nếu phần tử đi qua và trả về true, nó sẽ nằm trong mảng được lọc. Và bất kỳ phần tử nào thất bại hoặc trả về false, nó sẽ không nằm trong mảng được lọc.

  • Dưới đây là đầu ra từ console.log hiển thị ở trên. Các bản sao là nơi index không phù hợp với indexOf. Vì vậy, trong những trường hợp đó, điều kiện sẽ là false và sẽ không được đưa vào mảng đã lọc của chúng ta. 
  • Chúng ta cũng có thể sử dụng phương thức filter để lấy các giá trị trùng lặp từ mảng.

  • Đầu ra sẽ là:

Sử dụng reduce

  Javascript - Làm việc với date time dễ dàng hơn với thư viện date-fns
  • Phương thức reduce được sử dụng để giảm các phần tử của mảng và kết hợp chúng thành một mảng cuối cùng dựa trên reducer function mà bạn vượt qua.
  • Trong trường hợp này, hàm reducer sẽ kiểm tra xem mảng cuối cùng của chúng ta có chứa item không. Nếu không chứa, nó sẽ đẩy mục đó vào mảng cuối cùng của chúng ta.

  • Và ở đây, đầu ra là từ console.log:

Xem thêm công việc cho Javascript Developer tại TopDev

TopDev via viblo.asia

  Làm hiệu ứng búng tay bay màu THANOS bằng Javascript
  Tìm hiểu về bất đồng bộ trong JavaScript
SHARE