array.some() trong Javascript

Hàm some có chức sử dụng tất cả các phần tử của mảng để kiểm tra hoặc thực hiện một chức năng nào đó( được truyền vào như một mảng).

Thực chất hàm some có tác dụng gần giống với việc sử dụng vòng lặp để lặp qua tất cả các phần tử của mảng.

Phương thức xử lý trong hàm some sẽ thực hiện một lần với lần lượt tất cả các phẩn tử trong mảng,

Nếu có một phần tử của mảng truyền vào khiến phương thức của hàm some trả về True, hàm some đó sẽ trả về True và không tiếp tục kiểm tra nữa. Ngược lại hàm sẽ trả về False.

Lưu ý:

  • Hàm some sẽ không thực hiện chức năng truyền vào đối với các phần tử không có giá trị.
  • Hàm some không làm thay đổi mảng ban đầu.

Cú pháp

Cú pháp

Trong đóarray.some(function(currentValue, index, arr), thisValue)

  • 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".

Cách sử dụng

Ví dụ: sử dụng hàm some để kiểm tra điểm số của học sinh được lưu dưới dạng mảng có bị trượt kì thì không.

Quy ước: có một môn dưới 5 điểm sẽ bị tính là trượt.

Code RUN
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
	</head>
	<body>
		<h1>Học lập trình miễn phí tại freetuts.net</h1>
		<p>Click vào button kiểm tra học sinh có đủ điểm đỗ không.</p>

		<button onclick="myFunction()">Kiểm tra</button>

		<p id="demo"></p>

		<script>
			var score = [7, 8, 9, 10,3];

			function checkPass(score) {
			    return score < 5;
			}

			function myFunction() {
			    if (score.some(checkPass) == true) {
			    	document.getElementById("demo").innerHTML = 'không đủ điểm đỗ!';
			    }else{
			    	document.getElementById("demo").innerHTML = 'Đủ điểm đỗ!';
			    }
			}
		</script>
	</body>
</html>

Do trong mảng lưu điểm số có phần tử mang giá trị 3, nên hàm trả về True khi kiểm tra.

Tham khảo: w3schools.com

Các loại function khác

Nguồn: freetuts.net