Có nhiều phương pháp để kiểm tra xem một mảng có chứa các giá trị trùng lặp trong JavaScript hay không. Bạn có thể sử dụng phương thức
const unique = [...new Set[numbers]];
5, đối tượng const unique = [...new Set[numbers]];
6 hoặc phép lặp để xác định các mục lặp lại trong một mảngconst unique = [...new Set[numbers]];
6 đối tượng
const unique = [...new Set[numbers]];
Set là một cấu trúc dữ liệu đặc biệt được giới thiệu trong ES6 lưu trữ một tập hợp các giá trị duy nhất. Vì mỗi giá trị trong
const unique = [...new Set[numbers]];
6 phải là duy nhất, nên việc chuyển bất kỳ mục trùng lặp nào sẽ tự động bị xóaconst numbers = [1, 2, 3, 2, 4, 5, 5, 6];
const unique = Array.from[new Set[numbers]];
console.log[unique];
// [ 1, 2, 3, 4, 5, 6 ]
Mảng. phương thức from[], chúng tôi đã sử dụng ở trên, chuyển đổi
const unique = [...new Set[numbers]];
6 trở lại thành một mảng. Điều này là bắt buộc vì const unique = [...new Set[numbers]];
6 không phải là một mảng. Bạn cũng có thể sử dụng toán tử trải rộng nếu bạn muốn chuyển đổiconst unique = [...new Set[numbers]];
Để kiểm tra xem có các mục trùng lặp trong mảng ban đầu hay không, chỉ cần so sánh độ dài của cả hai mảng
const numbers = [1, 2, 3, 2, 4, 5, 5, 6];
const unique = Array.from[new Set[numbers]];
if[numbers.length === unique.length] {
console.log[`Array doesn't contain duplicates.`];
} else {
console.log[`Array contains duplicates.`];
}
// Output: Array contains duplicates.
Để biết chính xác phần tử nào trùng lặp, bạn có thể sử dụng mảng
const unique = [...new Set[numbers]];
4 ở trên và xóa từng phần tử khỏi mảng ban đầu như hình bên dướiconst numbers = [1, 2, 3, 2, 4, 5, 5, 6];
const set = new Set[numbers];
const duplicates = numbers.filter[item => {
if [set.has[item]] {
set.delete[item];
} else {
return item;
}
}];
console.log[duplicates];
// [ 2, 5 ]
Phương pháp const unique = [...new Set[numbers]];
5
const unique = [...new Set[numbers]];
Trong phương pháp này, chúng ta so sánh chỉ số của lần xuất hiện đầu tiên của một phần tử với tất cả các phần tử trong một mảng. Nếu chúng không khớp, điều đó có nghĩa là phần tử trùng lặp
const numbers = [1, 2, 3, 2, 4, 5, 5, 6];
const duplicates = numbers.filter[[item, index] => index !== numbers.indexOf[item]];
console.log[duplicates];
// [ 2, 5 ]
Giải pháp trên hoạt động hoàn hảo miễn là bạn chỉ muốn kiểm tra xem mảng có chứa các mục lặp lại không. Tuy nhiên, mảng đầu ra có thể chứa các mục trùng lặp nếu các mục đó xuất hiện nhiều hơn hai lần trong mảng
const numbers = [1, 2, 3, 2, 2, 4, 5, 5, 6];
const duplicates = numbers.filter[[item, index] => index !== numbers.indexOf[item]];
console.log[duplicates];
// [ 2, 2, 5 ]
Phương pháp const unique = [...new Set[numbers]];
6
const unique = [...new Set[numbers]];
Trong JavaScript, phương thức
const unique = [...new Set[numbers]];
6 trả về const unique = [...new Set[numbers]];
8 nếu một hoặc nhiều phần tử vượt qua một điều kiện nhất địnhCũng giống như phương thức
const unique = [...new Set[numbers]];
9, phương thức const unique = [...new Set[numbers]];
6 lặp lại tất cả các phần tử trong một mảng để đánh giá điều kiện đã choTrong hàm gọi lại, chúng ta lại sử dụng phương thức
const unique = [...new Set[numbers]];
5 để so sánh chỉ số phần tử hiện tại với các phần tử khác trong mảng. Nếu cả hai chỉ số đều giống nhau, điều đó có nghĩa là mục hiện tại không trùng lặpconst unique = [...new Set[numbers]];
2Vòng lặp const numbers = [1, 2, 3, 2, 4, 5, 5, 6];
const unique = Array.from[new Set[numbers]];
if[numbers.length === unique.length] {
console.log[`Array doesn't contain duplicates.`];
} else {
console.log[`Array contains duplicates.`];
}
// Output: Array contains duplicates.
2
const numbers = [1, 2, 3, 2, 4, 5, 5, 6];
const unique = Array.from[new Set[numbers]];
if[numbers.length === unique.length] {
console.log[`Array doesn't contain duplicates.`];
} else {
console.log[`Array contains duplicates.`];
}
// Output: Array contains duplicates.
Cuối cùng, phương pháp cuối cùng để tìm các bản sao trong một mảng là sử dụng vòng lặp
const numbers = [1, 2, 3, 2, 4, 5, 5, 6];
const unique = Array.from[new Set[numbers]];
if[numbers.length === unique.length] {
console.log[`Array doesn't contain duplicates.`];
} else {
console.log[`Array contains duplicates.`];
}
// Output: Array contains duplicates.
2Dưới đây là một ví dụ so sánh từng phần tử của mảng với tất cả các phần tử khác của mảng để kiểm tra xem hai giá trị có giống nhau hay không bằng cách sử dụng vòng lặp for lồng nhau