Javascript so sánh hai mảng và loại bỏ các bản sao

Có nhiều phương pháp khác nhau để loại bỏ các bản sao trong mảng. Chúng tôi sẽ thảo luận về bốn cách phổ biến nhất

Sử dụng phương thức filter(). Phương thức filter() tạo một mảng mới gồm các phần tử vượt qua điều kiện mà chúng ta cung cấp. Nó sẽ chỉ bao gồm những phần tử mà giá trị true được trả về. Chúng tôi có thể loại bỏ các giá trị trùng lặp khỏi mảng bằng cách điều chỉnh điều kiện của chúng tôi

Javascript




["apple", "mango", "orange"]
9

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
1
["apple", "mango", "orange"]
2
["apple", "mango", "orange"]
3
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
3
["apple", "mango", "orange"]
4

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
5
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
0

 

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
2
["apple", "mango", "orange"]
3

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
5
["apple", "mango", "orange"]
6

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
8

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
0

 

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
2

["apple", "mango", "orange"]
3

đầu ra

["apple", "mango", "orange"]

Sử dụng phương thức Set(). Phương pháp này thiết lập một loại đối tượng mới với ES6 (ES2015) cho phép bạn tạo các bộ sưu tập các giá trị duy nhất

Javascript




["apple", "mango", "orange"]
9

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
1
["apple", "mango", "orange"]
2
["apple", "mango", "orange"]
3
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
3
["apple", "mango", "orange"]
4

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
5
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
0

 

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
2
["apple", "mango", "orange"]
3

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
5
["apple", "mango", "orange"]
06
["apple", "mango", "orange"]
07
["apple", "mango", "orange"]
08

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
0

 

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
2

["apple", "mango", "orange"]
3

đầu ra

["apple", "mango", "orange"]

Sử dụng phương thức forEach(). Bằng cách sử dụng phương thức forEach(), chúng ta có thể lặp lại các phần tử trong mảng và chúng ta sẽ đẩy vào mảng mới nếu nó không tồn tại trong mảng

Javascript




["apple", "mango", "orange"]
9

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
1
["apple", "mango", "orange"]
2
["apple", "mango", "orange"]
3
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
4

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
3
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
5
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
0

 

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
2
["apple", "mango", "orange"]
3

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
1
["apple", "mango", "orange"]
36

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
38

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
40
["apple", "mango", "orange"]
41

["apple", "mango", "orange"]
42
["apple", "mango", "orange"]
43

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
47

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
5
["apple", "mango", "orange"]
00

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
0

 

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
2

["apple", "mango", "orange"]
3

đầu ra

["apple", "mango", "orange"]

Sử dụng phương thức reduce(). Phương thức reduce() được sử dụng để rút gọn 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 một số hàm rút gọn mà bạn truyền vào

Javascript




["apple", "mango", "orange"]
9

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
1
["apple", "mango", "orange"]
2
["apple", "mango", "orange"]
3
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
4

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
3
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
5
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
0

 

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
2
["apple", "mango", "orange"]
3

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
1
["apple", "mango", "orange"]
28
["apple", "mango", "orange"]
2
["apple", "mango", "orange"]
30

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
40
["apple", "mango", "orange"]
33

["apple", "mango", "orange"]
42
["apple", "mango", "orange"]
35

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
5
["apple", "mango", "orange"]
38

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
40

["apple", "mango", "orange"]
4
["apple", "mango", "orange"]
5
["apple", "mango", "orange"]
00

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
0

 

["apple", "mango", "orange"]
0
["apple", "mango", "orange"]
2

["apple", "mango", "orange"]
3

đầu ra

["apple", "mango", "orange"]

Sử dụng Phương thức indexOf(). Phương thức indexOf() được sử dụng để tìm chỉ số xuất hiện đầu tiên của một phần tử mảng. chúng ta có thể lặp lại các phần tử trong mảng và chúng ta sẽ đẩy vào mảng mới nếu nó không tồn tại trong mảng kết quả.  

Cách tốt nhất để loại bỏ các bản sao khỏi một mảng JavaScript là gì?

Sử dụng phương thức filter() . Phương thức filter() tạo một mảng mới gồm các phần tử vượt qua điều kiện mà chúng ta cung cấp. Nó sẽ chỉ bao gồm những phần tử mà giá trị true được trả về. Chúng tôi có thể loại bỏ các giá trị trùng lặp khỏi mảng bằng cách điều chỉnh điều kiện của chúng tôi.

Bạn có thể sử dụng == để so sánh các mảng không?

Sử dụng == trên mảng sẽ không cho kết quả mong muốn và nó sẽ so sánh chúng dưới dạng đối tượng .

Làm cách nào chúng ta có thể so sánh hai mảng trong JavaScript?

Mặc dù JavaScript không có phương thức sẵn có để so sánh trực tiếp hai mảng, nhưng nó lại có phương thức sẵn có để so sánh hai chuỗi. Các chuỗi cũng có thể được so sánh bằng toán tử đẳng thức. Do đó, chúng ta có thể chuyển đổi mảng thành chuỗi, sử dụng phương thức Array join(), sau đó kiểm tra xem các chuỗi có bằng nhau không .

Làm cách nào tôi có thể tìm các giá trị trùng khớp trong hai mảng trùng lặp?

Các phần tử trùng lặp có thể được tìm thấy bằng cách sử dụng hai vòng lặp. Vòng lặp bên ngoài sẽ lặp qua mảng từ 0 đến độ dài của mảng. Vòng lặp bên ngoài sẽ chọn một phần tử. Nếu tìm thấy một kết quả phù hợp có nghĩa là phần tử trùng lặp được tìm thấy thì hiển thị phần tử đó