Phương thức
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ụCode language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];
Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
đầ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ị
0 của nóCode language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];
Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];
đầ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
4 để chỉ bao gồm các phần tử có chỉ mục khớp với giá trị indexOf của chúngCode language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];
Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; let uniqueChars = chars.filter[[c, index] => { return chars.indexOf[c] === index; }]; console.log[uniqueChars];
đầ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
Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; let dupChars = chars.filter[[c, index] => { return chars.indexOf[c] !== index; }]; console.log[dupChars];
đầu ra
0Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
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]}`];
}];
let chars = ['A', 'B', 'A', 'C', 'B'];
chars.forEach[[c, index] => {
console.log[`${c} - ${index} - ${chars.indexOf[c]}`];
}];
7 trả vềCode language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];
8 nếu một phần tử nằm trong một mảng hoặcCode language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];
9 nếu nó khôngCode language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.forEach[[c, index] => { console.log[`${c} - ${index} - ${chars.indexOf[c]}`]; }];
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ó
60Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
đầu ra
61Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
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
62Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
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
63Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
đầu ra
64Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
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
0
A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1
65Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
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
66
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
Code language: JavaScript [javascript]
Thứ hai, loại bỏ trùng lặp bằng cách tạo một đối tượng Map[] mới
67Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
đầu ra
68Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
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[]
69Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
đầu ra
0Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
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
1Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
đầu ra
64Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
Đặt nó tất cả cùng nhau
3Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
Bốn dòng mã sau đây
4Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
…có thể được rút ngắn thành một
5Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
Vì thế
6Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
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
7Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
Ví dụ: bạn có thể sử dụng hàm
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
A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1
8Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
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
9Code language: JavaScript [javascript]
let chars = ['A', 'B', 'A', 'C', 'B']; chars.indexOf['B'];
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ử
0
1
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 [
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
A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1
2
1
Ví dụ sau sử dụng hàm unique[] để loại bỏ các giá trị trùng lặp khỏi mảng
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
A - 0 - 0 B - 1 - 1 A - 2 - 0 C - 3 - 3 B - 4 - 1