array.findIndex() trong Javascript

Hàm findIndex sẽ trả về khóa của phần tử đầu tiên trong mảng thỏa mãn được điều kiện kiểm tra( được truyền vào như một hàm!).

Hàm findIndex sẽ lần lượt sử dụng các phần tử của mảng để thực hiện hàm kiểm tra cho đến khi có giá trị thỏa mãn và hàm kiểm tra trả về True, khi đó hàm find sẽ trả về khóa của phần tử thỏa mãn đó và bỏ qua không kiểm tra các phần tử còn lại.

Lưu ý:

  • Hàm findIndex không thực hiện hàm kiểm tra với các phần tử không có giá trị.
  • Hàm findIndex sẽ không thay đổi mảng ban đầu.

Cú pháp

Cú pháp: array.findIndex(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 findIndex() để tìm kiếm vị trí cảu phần tử có điểm số nhỏ hơn 5 trong mảng các điểm số.

Code RUN
<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 scores = [9, 4, 8, 8];
			document.getElementById("demo").innerHTML = scores;
			function checkScore(scores) {
			    return scores <= 5;
			}

			function myFunction() {
			    document.getElementById("demo").innerHTML = scores.findIndex(checkScore);
			}
		</script>
	</body>
</html>

Nguồn: freetuts.net