Hàm array.every() trong Javascript

Hàm every 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 đó.

Thực chất hàm every 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.

Mỗi phương thức xử lý trong hàm every 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 không thỏa mãn phương thức của hàm every và trả về False, hàm every đó sẽ trả về False. Nếu không có lỗi xảy ra hàm every sẽ trả về True.

Lưu ý:

  • Hàm every 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 every không làm thay đổi mảng ban đầu.

Cú pháp

Cú pháp: array.every(function(currentValue, index, arr), thisValue)

Trong đó:

  • 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 every để kiểm tra điểm số của học sinh được lưu dưới dạng mảng có đủ để đỗ kì thì không.

Quy ước: tất cả các môn trên hoặc bằng 5 điểm thì được coi là đỗ.

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.every(checkPass) == true) {
			    	document.getElementById("demo").innerHTML = 'Đủ điểm đỗ!';
			    }else{
			    	document.getElementById("demo").innerHTML = 'không đủ điểm đỗ!';
			    }
			}
		</script>
	</body>
</html>

Nguồn: freetuts.net