Trang chủ > Javascript cơ bản
Lý thuyết
Mục tiêu
Sinh viên hiểu về Array.find()
, Array.findIndex()
và cách sử dụng nó trong thực tế.
Array.find()
Phương thức find()
trả về giá trị của phần tử đầu tiên trong mảng thỏa mãn hàm kiểm tra được cung cấp. Nếu không, không xác định được trả lại.
Cú pháp
arr.find(callback(element[, index[, array]])[, thisArg])
callback: Một hàm để kiểm tra cho từng phần tử, lấy ba đối số:
element: Phần tử hiện tại đang được xử lý trong mảng.
index (Optional): Chỉ mục của phần tử hiện tại đang được xử lý trong mảng.
array (Optional): Các mảng được gọi theo.
thisArg: Một giá trị để sử dụng như thế này khi thực hiện callback.
Ví dụ:
var array1 = [5, 12, 8, 130, 44];
var found = array1.find(function(element) {
return element > 10;
});
console.log(found);
// expected output: 12
Array.findIndex()
Phương thức findIndex()
trả về chỉ mục của phần tử đầu tiên trong mảng thỏa mãn hàm kiểm tra được cung cấp. Mặt khác, nó trả về -1, chỉ ra rằng không có phần tử nào vượt qua bài kiểm tra.
Cú pháp:
arr.findIndex(callback(element[, index[, array]])[, thisArg])
callback: Một hàm để kiểm tra cho từng phần tử, lấy ba đối số:
element: Phần tử hiện tại đang được xử lý trong mảng.
index (Optional): Chỉ mục của phần tử hiện tại đang được xử lý trong mảng.
array (Optional): Các mảng được gọi theo.
thisArg: Một giá trị để sử dụng như thế này khi thực hiện callback.
Ví dụ:
var array1 = [5, 12, 8, 130, 44];
function isLargeNumber(element) {
return element > 13;
}
console.log(array1.findIndex(isLargeNumber));
// expected output: 3
Bài tập
Cho 1 mảng số tự nhiên data
. Tìm ra số dương đầu tiên trong mảng và in ra chỉ mục và giá trị với định dạng "{index} {value}"
Ngoài ra, in ra "No result" Nếu không có số dương nào trong mảng
- Ví dụ:
data = [-1, -2, 3, 4,-5];
Print:"2 3"
data = [-1, 2, 3, 4,-5];
Print:"1 2"
data = [-1, -2];
Print:"No result"
- Đầu vào: data
- Đầu ra: số dương đầu tiên trong mảng
0 Nhận xét