Hàm some() trong JavaScript
Trần Thị Vân
- 972
- 29/08/2025
Chức năng của Hàm some() trong JavaScript
Hàm some() trong JavaScript dùng để kiểm tra tất cả các phần tử có trong mảng xem có phần tử nào thỏa điều đưa ra hay không, nếu có 1 phần tử hoặc nhiều hơn thỏa điều kiện thì trả về true, nếu không có phần tử nào thỏa điều kiện thì trả về false.
Code Hàm some() trong JavaScript
Hàm some() dùng function trong JavaScript
var mang = [-2,4,-6,-8];
document.write(mang.some(soDuong)); // Kết quả: true
// Kiểm tra trong mảng có phần tử nào có giá trị dương hay không
function soDuong(phantu) {
return phantu> 0;
}
<script>
document.write("<b>Kiểm tra trong mảng có phần tử nào có giá trị dương hay không</b><br>");
var mang = [-2,4,-6,-8];
document.write(mang.some(soDuong)+"<br>"); // Kết quả: true
// Kiểm tra trong mảng có phần tử nào có giá trị dương hay không
function soDuong(phantu) {
return phantu> 0;
}
document.write("<b>Kiểm tra trong mảng có phần tử nào chia hết cho 2 hay không</b><br>");
var manghai = [1,4,5,7];
document.write(manghai.some(chiaHet)+"<br>"); // Kết quả: true
// Kiểm tra trong mảng có phần tử nào chia hết cho 2 hay không
function chiaHet(phantu) {
return phantu % 2 ==0;
}
document.write("<b>Kiểm tra trong mảng có phần tử nào lớn hơn 22 hay không</b><br>");
var mangba = [17,16,20,21];
document.write(mangba.some(trenMuoiTam)) // Kết quả: false
// Kiểm tra trong mảng có phần tử nào lớn hơn 22 hay không
function trenMuoiTam(phantu) {
return phantu > 22;
}
</script>
Kết quả:
Kiểm tra trong mảng có phần tử nào có giá trị dương hay không
true
Kiểm tra trong mảng có phần tử nào chia hết cho 2 hay không
true
Kiểm tra trong mảng có phần tử nào lớn hơn 22 hay không
false
Hàm some() không dùng function trong JavaScript
var mang = [-2,4,-6,-8];
// Kiểm tra trong mảng có phần tử nào có giá trị dương hay không
document.write(mang.some(phantu => phantu > 0)); // Kết quả: true
<script>
document.write("<b>Kiểm tra trong mảng có phần tử nào có giá trị dương hay không</b><br>");
var mang = [-2,4,-6,-8];
// Kiểm tra trong mảng có phần tử nào có giá trị dương hay không
document.write(mang.some(phantu => phantu > 0)+"<br>"); // Kết quả: true
document.write("<b>Kiểm tra trong mảng có phần tử nào chia hết cho 2 hay không</b><br>");
var manghai = [1,4,5,7];
// Kiểm tra trong mảng có phần tử nào chia hết cho 2 hay không
document.write(manghai.some(phantu => phantu % 2 ==0)+"<br>"); // Kết quả: true
document.write("<b>Kiểm tra trong mảng có phần tử nào lớn hơn 22 hay không</b><br>");
var mangba = [17,16,20,21];
// Kiểm tra trong mảng có phần tử nào lớn hơn 22 hay không
document.write(mangba.some(phantu => phantu > 22)) // Kết quả: false
</script>
Kết quả:
Kiểm tra trong mảng có phần tử nào có giá trị dương hay không
true
Kiểm tra trong mảng có phần tử nào chia hết cho 2 hay không
true
Kiểm tra trong mảng có phần tử nào lớn hơn 22 hay không
false
Ứng dụng hàm some() trong JavaScript vào thực tế
Trong các chương trình JavaScript thực tế, some() phù hợp khi cần xác định một danh sách có ít nhất một phần tử đáp ứng điều kiện hay không. Kết quả trả về là true nếu tìm thấy phần tử phù hợp và false nếu toàn bộ phần tử đều không đạt điều kiện.
Kiểm tra điều kiện trong danh sách dữ liệu
Một trường hợp phổ biến là kiểm tra dữ liệu trước khi thực hiện một thao tác. Chẳng hạn, một hệ thống cần xác định danh sách sản phẩm có sản phẩm hết hàng hay không.
const products = [
{ name: "Laptop", stock: 5 },
{ name: "Chuột", stock: 12 },
{ name: "Bàn phím", stock: 0 }
];
const hasOutOfStock = products.some(product => product.stock === 0);
console.log(hasOutOfStock); // true
Trong ví dụ trên, chỉ cần một sản phẩm có số lượng bằng 0, biến hasOutOfStock đã nhận giá trị true. Cách viết này ngắn gọn hơn việc tự tạo vòng lặp rồi quản lý một biến trạng thái.
Kết hợp some() với các phương thức mảng khác
some() có thể kết hợp với các phương thức mảng khác khi dữ liệu cần được lọc hoặc biến đổi trước khi kiểm tra. Tuy nhiên, nên giữ cho điều kiện kiểm tra rõ ràng để mã nguồn dễ đọc và tránh xử lý dư thừa.
const users = [
{ name: "An", roles: ["user"] },
{ name: "Bình", roles: ["user", "admin"] },
{ name: "Lan", roles: ["editor"] }
];
const hasAdmin = users.some(user => user.roles.includes("admin"));
console.log(hasAdmin); // true
Ở đây, includes() kiểm tra quyền của từng người dùng, còn some() xác định trong toàn bộ danh sách có ít nhất một người sở hữu quyền admin. Mỗi phương thức đảm nhận một nhiệm vụ riêng nên đoạn mã vẫn dễ theo dõi.
Khi nào nên dùng some() thay vì includes()?
includes() thích hợp khi cần kiểm tra một giá trị cụ thể có xuất hiện trực tiếp trong mảng hay không. Trong khi đó, some() phù hợp khi điều kiện kiểm tra phức tạp hơn hoặc cần dựa trên từng thuộc tính của phần tử.
const roles = ["user", "editor", "admin"];
const hasAdmin = roles.includes("admin");
const users = [
{ name: "An", role: "user" },
{ name: "Bình", role: "admin" }
];
const hasAdminUser = users.some(user => user.role === "admin");
Với mảng chứa các giá trị đơn giản như chuỗi hoặc số, includes() thường là lựa chọn trực tiếp và dễ hiểu. Khi mảng chứa object hoặc cần một biểu thức điều kiện riêng, some() sẽ linh hoạt hơn.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm some() 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 *