Hàm array.find() trong Javascript
Trong bài này chúng ta sẽ tìm hiểu hàm Array.find() trong Javascript, hàm find sẽ trả về giá trị của phần tử đầu tiên trong mảng thỏa mãn được điều kiện kiểm tra (được truyền vào như một hàm).
Hàm find sẽ lần lượt sử dụng các phần tử của mảng để thực hiện hàm kiểm tra cho đến khi có giá trị thỏa mãn và hàm kiểm tra trả về true. Khi đó hàm find sẽ trả về giá trị của phần tử thỏa mãn và bỏ qua không kiểm tra các phần tử còn lại.
Cú pháp hàm find trong javascript
Cú pháp hàm find như sau:
array.find(function(currentValue, index, arr),thisValue)
Trong đó:
Bài viết này được đăng tại [free tuts .net]
currentValue
- giá trị của phần tử hiện tại.index
- chỉ số của phần tử hiện tại.arr
- mảng mà phần tử hiện tại thuộc về.thisValue
- tham số không bắt buộc. Nếu được truyền vào thì thisValue sẽ được sử dụng làm giá trị "this:. Nếu không được truyền vào thì giá trị "this" là "undefined".
Lưu ý:
- Hàm find không thực hiện hàm kiểm tra với các phần tử không có giá trị.
- Hàm find sẽ không thay đổi mảng ban đầu.
Ví dụ: Lấy phần tử đầu tiên trong mảng có giá trị lớn hơn 20.
const ages = [3, 10, 28, 20]; function checkAge(age) { return age > 20; } let age = ages.find(checkAge); console.log(age); // 28
Ví dụ sử dụng array.find() trong javascript
Ví dụ: Sử dụng hàm find()
để tìm kiếm điểm số nhỏ hơn 5 trong mảng các điểm số.
var scores = [6, 10, 7, 9, 4]; document.getElementById("demo").innerHTML = scores; function checkAdult(scores) { return scores <= 5; } function myFunction() { document.getElementById("demo").innerHTML = scores.find(checkAdult); }
Trường hợp các phần tử trong mảng là các object thì ta có cách viết khác một chút.
Ví dụ: Cho mảng customers như sau:
let customers = [{ name: 'ABC Inc', credit: 100 }, { name: 'ACME Corp', credit: 200 }, { name: 'IoT AG', credit: 300 }];
Hãy sử dụng hàm find để tìm phần tử đầu tiên có credit lớn hơn 100.
console.log(customers.find(c => c.credit > 100));
Kết quả:
{ name: 'ACME Corp', credit: 200 }
Như vậy là mình đã giới thiệu xong cách sử dụng hàm find trong javascript.