Hàm find() trong JavaScript

Hàm find() trong JavaScript
Hàm find() trong JavaScript

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

Chạy Thử

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>

Chạy Thử

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
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm find() trong JavaScript
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !