Tìm hiểu hàm array.some() và cách sử dụng trong Javascript

Admin

Administrator
Thành viên BQT
#1
Tìm hiểu hàm array.some() và cách sử dụng trong Javascript

Hàm some có chức năng 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
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.
Mã:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <h1>Cộng đồng XenForo Việt Nam</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.

Chúc các bạn thành công.


Nguồn: freetuts.net​
 
Top