Tìm các bản sao trong mảng javascript

Phương thức

let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];

Code language: JavaScript [javascript]
2 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. Ví dụ

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]

đầu ra

1

Mặt hàng trùng lặp là mặt hàng có chỉ số khác với giá trị

let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];

Code language: JavaScript [javascript]
0 của nó

let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];

Code language: JavaScript [javascript]

đầu ra

A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1

Để loại bỏ các bản sao, bạn sử dụng phương thức

let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];

Code language: JavaScript [javascript]
4 để chỉ bao gồm các phần tử có chỉ mục khớp với giá trị indexOf của chúng

let chars = ['A', 'B', 'A', 'C', 'B']; let uniqueChars = chars.filter[[c, index] => { return chars.indexOf[c] === index; }]; console.log[uniqueChars];

Code language: JavaScript [javascript]

đầu ra

________số 8

Để tìm các giá trị trùng lặp, bạn cần đảo ngược điều kiện

let chars = ['A', 'B', 'A', 'C', 'B']; let dupChars = chars.filter[[c, index] => { return chars.indexOf[c] !== index; }]; console.log[dupChars];

Code language: JavaScript [javascript]

đầu ra

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
0

3] Loại bỏ các bản sao khỏi một mảng bằng cách sử dụng

let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];

Code language: JavaScript [javascript]
5 và

let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];

Code language: JavaScript [javascript]
6

let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];

Code language: JavaScript [javascript]
7 trả về

let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];

Code language: JavaScript [javascript]
8 nếu một phần tử nằm trong một mảng hoặc

let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];

Code language: JavaScript [javascript]
9 nếu nó không

Ví dụ sau lặp lại các phần tử của một mảng và chỉ thêm vào một mảng mới những phần tử chưa có

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
60

đầu ra

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
61

4] Xóa các mục trùng lặp khỏi một mảng đối tượng bằng một thuộc tính

Giả sử bạn có mảng đối tượng sau

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
62

Id của phần tử đầu tiên giống với phần tử thứ ba. Để xóa trùng lặp khỏi mảng người, bạn có thể sử dụng cách sau

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
63

đầu ra

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
64

Làm thế nào nó hoạt động

Đầu tiên, tạo một mảng mới từ mảng ban đầu bằng phương thức

A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1

0

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
65

Nó trả về một mảng các mảng. Mỗi mảng lồng nhau chứa giá trị của id và đối tượng tương ứng

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
66

Thứ hai, loại bỏ trùng lặp bằng cách tạo một đối tượng Map[] mới

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
67

đầu ra

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
68

Vì các khóa của đối tượng Bản đồ là duy nhất, nên việc tạo Bản đồ từ mảng của mảng sẽ loại bỏ đối tượng trùng lặp theo khóa [id trong trường hợp này]

Thứ ba, lấy iterator của các mục của Map bằng cách gọi phương thức values[]

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
69

đầu ra

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
0

Cuối cùng, chuyển đổi iterator thành một mảng bằng cách sử dụng toán tử trải rộng

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
1

đầu ra

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
64

Đặt nó tất cả cùng nhau

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
3

Bốn dòng mã sau đây

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
4

…có thể được rút ngắn thành một

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
5

Vì thế

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
6

Hàm unique[] sau chấp nhận một mảng đối tượng và trả về phần tử duy nhất theo một thuộc tính

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
7

Ví dụ: bạn có thể sử dụng hàm

A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1

1 để loại bỏ các phần tử trùng lặp khỏi mảng

A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1

2 như thế này

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
8

5] Loại bỏ các bản sao khỏi một mảng đối tượng bằng nhiều thuộc tính

Hàm duy nhất [] sau đây loại bỏ trùng lặp khỏi một mảng đối tượng. Logic trùng lặp được chỉ định bởi hàm gọi lại

let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];

Code language: JavaScript [javascript]
9

Làm thế nào nó hoạt động

Đầu tiên, trả về cùng một mảng nếu nó có 0 hoặc một phần tử

1

0

Thứ hai, trả về mảng đầu vào nếu cuộc gọi lại không được thông qua

1

1

Thứ ba, lặp lại phần tử của mảng đầu vào hai lần và lần lượt so sánh phần tử đầu tiên với các phần tử khác. Nếu hai phần tử khiến hàm gọi lại [

A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1

3] trả về true, hãy xóa phần tử đó khỏi mảng bằng phương thức

A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1

4

1

2

Ví dụ sau sử dụng hàm unique[] để loại bỏ các giá trị trùng lặp khỏi mảng

A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1

2 bằng cả hai thuộc tính

A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1

6 và

A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1

7

Chủ Đề