JS 5个迭代方法

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>js迭代方法</title>
</head>

<body>
    <script>
        // 1.定义:ES5为数组对象定义了5个迭代方法(即递归,简单的说就是自己可以调用自己) 。
        // 每个方法接收两个参数:要在每一项上运行的函数(接收3个参数:数组项的值,该项在数组中的位置,数组对象本身)和(可选的)运行该函数的作用域对象——影响this的值。
        // 以下5种方法,都不会改变数组本身。

        // 2.每个迭代方法的作用:
        // every()对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true ;
        let arr = [1, 2, 3, 4, 5];
        let every = arr.every((item, index, array) => {
            return item > 2;
        });
        console.log(arr); //[1,2,3,4,5]
        console.log(every); //false

        // some()对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true;
        let some = arr.some((item, index, array) => {
            return item > 2;
        });
        console.log(arr); //[1,2,3,4,5]
        console.log(some); //true

        // filter()对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组 ;
        let filter = arr.filter((item, index, array) => {
            return item > 2;
        });
        console.log(arr); //[1,2,3,4,5]
        console.log(filter); //true

        // forEach()对数组中的每一项执行函数,没有返回值。类似于for循环。
        let foreach = arr.forEach((item, index, array) => {
            console.log(item + '  ' + index + '  ' + array)
        });
        console.log(arr); //[1,2,3,4,5]
        console.log(foreach); //undefined

        //   map()对数组中的每一项执行函数,返回(处理后的)每一项。
        let map = arr.map((item, index, array) => {
            return item>2;
        })
        console.log(arr);//[1,2,3,4,5]
        console.log(map);//[false,false,true,true,true]
        // 或
        arr.map((item)=>{
            console.log(item)
        })

        // 以上方法中,最相似的是every()和some()方法,他们都用于查询数组中的项是否满足某个条件;理解性的说,every()就是‘与’,some()就是‘或’,这样就好理解多了。
    </script>
</body>

</html>

注释都在代码里面,

猜你喜欢

转载自blog.csdn.net/dwb123456123456/article/details/83181643