Hàm find() trong JavaScript
Trần Thị Vân
- 1002
- 28/08/2025
Chức năng của Hàm find() trong JavaScript
Hàm find() trong JavaScript dùng để lấy phần tử đầu tiên trong mảng có giá trị thỏa với điều kiện đưa ra.
Code Hàm find() trong JavaScript
Hàm find() dùng function trong JavaScript
<script>
// Lấy phần tử đầu tiên có giá trị >5
var mang = [1,2,3,4,5,7,6,8,9];
document.write(mang.find(laySo));
function laySo(phantu) {
return phantu >5;
}
</script>
Kết quả:
7
Hàm find() không dùng function trong JavaScript
<script>
// Lấy phần tử đầu tiên có giá trị >5
var mang = [1,2,3,4,5,7,6,8,9];
document.write(mang.find(phantu => phantu > 5));
var khachhang = [
{ ten: 'Vân', tuoi: 29 },
{ ten: 'Lực', tuoi: 35 },
{ ten: 'Dung', tuoi: 30 }
];
console.log(khachhang.find(phantu => phantu.tuoi > 29));
// Kết quả xem dưới console: { ten: 'Lực', tuoi: 35 }
</script>
Những lưu ý khi sử dụng find() trong JavaScript
find() phù hợp khi cần lấy ra một phần tử đầu tiên thỏa mãn điều kiện trong mảng. Tuy nhiên, để tránh kết quả không như mong muốn, cần đặc biệt chú ý đến giá trị trả về khi không tìm thấy phần tử và lựa chọn đúng phương thức khi xử lý nhiều kết quả.
Xử lý trường hợp find() không tìm thấy phần tử
Nếu không có phần tử nào đáp ứng điều kiện, find() sẽ trả về undefined. Vì vậy, không nên sử dụng kết quả ngay mà không kiểm tra, đặc biệt khi muốn truy cập thuộc tính của phần tử tìm được.
const users = [
{ id: 1, name: "An" },
{ id: 2, name: "Bình" }
];
const user = users.find(item => item.id === 3);
if (user) {
console.log(user.name);
} else {
console.log("Không tìm thấy người dùng");
}
Cách kiểm tra này giúp chương trình xử lý rõ ràng cả hai trường hợp: tìm thấy phần tử và không có kết quả. Đây là thói quen nên áp dụng khi dữ liệu có thể thay đổi hoặc đến từ API.
Tránh nhầm find() với filter() khi tìm dữ liệu
find() chỉ lấy phần tử đầu tiên thỏa mãn điều kiện, trong khi filter() lấy tất cả phần tử phù hợp và trả về một mảng mới.
const products = [
{ name: "Laptop", price: 1500 },
{ name: "Phone", price: 800 },
{ name: "Tablet", price: 800 }
];
const product = products.find(item => item.price === 800);
const productsFound = products.filter(item => item.price === 800);
Trong ví dụ trên, product chỉ nhận sản phẩm đầu tiên có giá 800, còn productsFound chứa toàn bộ sản phẩm có cùng mức giá. Vì vậy, hãy chọn find() khi cần một kết quả duy nhất và dùng filter() khi cần danh sách nhiều phần tử.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm find() trong JavaScript.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *