Một số phương thức thao tác với mảng JavaScript (Phần 1/4)
- Array.indexOf() Tìm kiếm phần tử, trả về index đầu tiên được tìm thấy
- Array.lastIndexOf() Tìm kiếm phần tử, trả về index cuối cùng được tìm thấy
- Array.findIndex() Trả về vị trí (index) của phần tử đầu tiên thỏa mãn một điều kiện cụ thể
- Array.find() Trả về giá trị (value) của phần tử đầu tiên thỏa mãn một điều kiện cụ thể
- toString() Tự động chuyển đổi Array thành String
- Array.join() Convert Array thành String
- Tìm giá trị Min trong mảng
- Tìm giá trị Max trong mảng
1. Array.indexOf() Tìm kiếm phần tử, trả về index đầu tiên được tìm thấy
– Array.indexOf() tìm kiếm phần tử trong mảng:
- Trả về vị trí index của phần tử đầu tiên được tìm thấy trong mảng.
- Nếu không tìm thấy: trả về -1
– Cú pháp:
Array.indexOf(item, start);
- item: Required. Giá trị của phần tử muốn tìm kiếm.
- start: Optional. Xác định vị trí bắt đầu tìm kiếm, nếu giá trị là âm thì sẽ lấy vị trí tính từ cuối, rồi tìm kiếm đến cuối mảng.
– Ví dụ:
var idx1 = fruits.indexOf("Apple"); // return idx1 = 0
var idx2 = fruits.indexOf("Apple", 1); // return idx2 = 2[/code]
Try it »
Array.indexOf() được hỗ trợ trong tất cả các trình duyệt, ngoại trừ Internet Explorer 8 và các phiên bản IE cũ hơn.
2. Array.lastIndexOf() Tìm kiếm phần tử, trả về index cuối cùng được tìm thấy
– Array.lastIndexOf() tìm kiếm phần tử trong mảng:
- Trả về vị trí index của phần tử cuối cùng được tìm thấy trong mảng.
- Nếu không tìm thấy: trả về -1
– Cú pháp:
Array.lastIndexOf(item, start);
- item: Required. Giá trị của phần tử muốn tìm kiếm.
- start: Optional. Xác định vị trí bắt đầu tìm kiếm, nếu giá trị là âm thì sẽ lấy vị trí tính từ cuối, và tìm kiếm đến đầu mảng.
– Ví dụ:
var idx1 = fruits.lastIndexOf("Apple"); // return idx1 = 2
var idx2 = fruits.lastIndexOf("Apple", -3); // return idx2 = 0[/code]
Try it »
Array.lastIndexOf() được hỗ trợ trong tất cả các trình duyệt, ngoại trừ Internet Explorer 8 và các phiên bản IE cũ hơn.
3. Array.findIndex() Trả về vị trí (index) của phần tử đầu tiên thỏa mãn một điều kiện cụ thể
Ví dụ sau trả về index của phần tử đầu tiên lớn hơn 18:
var first = numbers.findIndex(myFunction); // return 3
function myFunction(value, index, array) {
return value > 18;
}[/code]
Try it »
Trình duyệt | Phiên bản hỗ trợ |
Chrome | >= 45 |
Firefox | >= 25 |
IE | >= 12 |
Opera | >= 32 |
Safari | >= 8 |
4. Array.find() Trả về giá trị (value) của phần tử đầu tiên thỏa mãn một điều kiện cụ thể
Ví dụ sau trả về giá trị của phần tử đầu tiên lớn hơn 18:
var first = numbers.find(myFunction); // return 25
function myFunction(value, index, array) {
return value > 18;
}[/code]
Try it »
Trình duyệt | Phiên bản hỗ trợ |
Chrome | >= 45 |
Firefox | >= 25 |
IE | >= 12 |
Opera | >= 32 |
Safari | >= 8 |
5. toString() Tự động chuyển đổi Array thành String
– JavaScript tự động chuyển đổi một mảng thành một chuỗi được phân cách bằng dấu phẩy ,
– Điều này luôn luôn xảy ra khi bạn xuất (output) ra một mảng.
– Cả 2 ví dụ sau đây đều cho ra cùng một kết quả:
Ví dụ:
[code language=”javascript”]var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.toString(); // return Apple,Orange,Apple,Mango[/code] Try it »
Ví dụ:
[code language=”javascript”]var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits; // return Apple,Orange,Apple,Mango[/code] Try it »
Tất cả các object JavaScript đều có method toString().
6. Array.join() Convert Array thành String
– Ở mục 5 chúng ta đã biết phương thức toString() chuyển đổi một mảng thành một chuỗi các giá trị của mảng được phân cách nhau bằng dấu phẩy.
– Phương thức join() cũng nối (join) tất cả các phần tử của mảng vào một chuỗi.
– Nó hoạt động giống như toString(), nhưng bạn có thể chỉ định dấu phân tách:
Ví dụ:
[code language=”javascript”]var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.join(" * "); // return Banana * Orange * Apple * Mango[/code] Try it »
7. Tìm giá trị Min trong mảng
7.1. Sử dụng hàm Math.min()
Bạn có thể sử dụng Math.min.apply() để tìm phần tử nhỏ nhất trong một mảng:
Ví dụ:
[code language=”javascript”]var points = [40, 100, 1, 5, 25, 10];findMinArray(points); // return 1
function findMinArray(arr) {
return Math.min.apply(null, arr);
}[/code]
Try it »
7.2. Sử dụng hàm tự tạo
Ví dụ:
[code language=”javascript”]var points = [40, 100, 1, 5, 25, 10];findMinArray(points); // return 1
function findMinArray(arr) {
var len = arr.length;
var min = Infinity;
while (len–) {
if (arr[len] < min) {
min = arr[len];
}
}
return min;
}[/code]
Try it »
8. Tìm giá trị Max trong mảng
8.1. Sử dụng hàm Math.max()
Bạn có thể sử dụng Math.max.apply() để tìm phần tử lớn nhất trong một mảng:
Ví dụ:
[code language=”javascript”]var points = [40, 100, 1, 5, 25, 10];findMaxArray(points); // return 100
function findMaxArray(arr) {
return Math.max.apply(null, arr);
}[/code]
Try it »
8.2. Sử dụng hàm tự tạo
Ví dụ:
[code language=”javascript”]var points = [40, 100, 1, 5, 25, 10];findMaxArray(points); // return 100
function findMaxArray(arr) {
var len = arr.length
var max = -Infinity;
while (len–) {
if (arr[len] > max) {
max = arr[len];
}
}
return max;
}[/code]
Try it »
[…] Array.lastIndexOf() Tìm kiếm phần tử, trả về index cuối cùng được tìm thấy […]
[…] […]
[…] Array.find() Trả về giá trị (value) của phần tử đầu tiên thỏa mãn một điều … […]