Skip to main content

Xóa phần tử Duplicates trong mảng sử dụng ES6


Dưới đây là 3 cách để lọc các phần tử trùng nhau (duplicates) trong mảng và trả về những giá trị duy nhất. Tôi thích sử dụng Set bởi vì nó ngắn và đơn giản.

1. Sử dụng Set:

Đầu tiên sẽ tìm hiểu Set là gì:

Set là một đối tượng mới được giới thiệu trong ES6. Bởi vì Set chỉ cho lưu trữ các giá trị duy nhất. Khi bạn truyền vào nó 1 mảng thì nó sẽ xóa những giá trị trùng lặp.

Okay, chúng ta sẽ nhìn những đoạn code sau để hiểu hơn về Set:

1. Đầu tiên, chúng ta sẽ tạo 1 Set mới bằng cách truyền vào cho nó 1 mảng. Bởi vì Set chỉ nhận các giá trị duy nhất lên sẽ xóa các phần tử trùng lặp.

2. Bây giờ các phần tử trùng nhau biến mất, chúng ta sẽ convert nó lại thành mảng bằng cách sử dụng toán tử ...



Convert Set sang mảng sử dụng Array.from

Ngoài ra, bạn có thể sử dụng Array.from để convert Set sang mảng:



2. Sử dụng filter:

Để hiểu hơn về cách này, chúng ta sẽ xem qua cách 2 phương thức hoạt động: indexOf và filter.

indexOf

Phương thức indexOf sẽ trả về vị trí index đầu tiên mà chúng tìm thấy trong mảng.



filter

Phương thức filter() sẽ tạo ra 1 mảng mới với các điều kiện cho trước. Nói cách khác, các phần tử thỏa mãn điều kiện trả về true thì sẽ nằm trong mảng đã được lọc. Các phần tử sai điều kiện sẽ bị loại bỏ trong mảng mới.



Dưới đây là bảng console.log đoạn code trên:



3. Sử dụng reduce:

Trong trường hợp này, hàm reduce sẽ kiểm tra mảng xem có phần tử đó hay không. Nếu chưa có sẽ thêm phần tử đó vào mảng, còn không sẽ bỏ qua phần tử đó.

Hàm reduce hơi khó hiểu một chút, vì vậy hãy xem thử ví dụ sau:



Và đây là kết quả console.log:



Thanks for reading ❤

Resource: Medium Dailyjs

Comments

Post a Comment

Popular posts from this blog

Javascript kiểm tra Array chính xác hơn bằng Array.isArray

Các dev Javascript có thể điều biết, arrays is not true arrays . Mọi thứ trong javascript đều là object. Một cách điều hiểu điều đó rõ nhất là sử dụng typeof để kiểm tra nó, và tất nhiên nó sẽ là object. LOL Vậy làm sao để kiểm tra chính xác một phần tử có phải là array hay không trong javascript ? Đó đã không còn là vấn đề với Array.isArray(). Đây là các đơn giản để kiểm tra chính xác giá trị có phải là mảng hay không. Array is not true array Hãy xem ví dụ dưới để hiểu hơn, array is not true array Đó chính là lý do tại sao ta không lên dùng typeof để kiểm tra array. Array.isArray() demo Ví dụ dưới đây đều là array và đều return về true

State Department refugee database vulnerable to hacking, watchdog found

As the debate over President Trump’s order suspending refugee admissions intensifies, Fox News has learned of another potential vulnerability in the system: the State Department refugee database has been susceptible to hacking for years. The State Department internal watchdog, back in December 2016, sent a "classified management alert" regarding ongoing IT security vulnerabilities in the system. Two months later, the inspector general  released a related unclassified report, "Inspection of the Bureau of Population, Refugees, and Migration." "It's very unusual for action to be taken by the inspector general before the final report is reviewed by the bureau that's under investigation," former U.N. ambassador and Fox News contributor John Bolton ex...

Hướng dẫn cài LibreOffice trên Kali Linux

Xin chào mọi người ! Một số bạn không biết cài bộ công cụ văn phòng nào cho máy tính cài HĐH Kali Linux. Hôm nay mình sẽ hướng dẫn cho các bạn cài  LibreOffice trên Kali Linux. Nó giống như bộ Office của Microsoft và trên thực tế thì không bằng Microsoft được đâu. Việc cài đặt bộ Office này khá là đơn giản. Đầu tiên để cài thì bạn hãy tải LibreOffice phù hợp với phiên bản của máy tính đang sử dụng. Như của mình hiện tại là phiên bản LibreOffice_5.2.4 + Link Download (Download) Hãy tải phiên bản mới nhất có đuôi *.deb cho dễ cài đặt. Sau khi tải xong có 2 cách để các bạn cài đặt nó: + Cách 1: Sử dụng phần mềm Gdebi để cài đặt các file *.deb một cách dễ dàng. Tuy nhiên rất hay bị lỗi và không cài đặt được. + Cách 2: (Nên theo cách này) 1- Giải nén file LibreOffice ra. 2- Mở Terminal ra gõ:   ~# cd Downloads Các bạn có thể dùng lệnh ls để biết chính xác tên thư mục của mình và copy paste cho chuẩn. Tiếp sau đó thì gõ:   ~# cd LibreOffice_5....