JavaScript数组的五个迭代方法的简单实例

<script>
        //every()
        var nums = [1,2,3,4,5];
        var result = nums.every(function eve(item,index,array){
            if (typeof(item) == "number"){
                return true;
        }
            } );
        console.log(result);//true,只有当该函数对每一项都返回true时,every()才会返回true

        //filter()
        var nums2 = ['1',2,3,'str'];
        var result2 = nums2.filter(function fil(item,index,array){
            if(typeof(item) == "string"){
                return true
            }
        });
        console.log(result2);//返回 [该函数会返回true的项] 组成的数组

        //forEach()

        var nums3 = [1,2,3,4,'qq','1'];
        var log = "";
        function fEach (item,index,array){
            log += 'index['+index+']:'+ item +' ';
        };
        nums3.forEach(fEach);
        console.log(log);
        // nums3.forEach(alert);
        // console.log(nums3);

        //map()
        var nums4 = [1,'q','1',true];
        var log2;
        var result4 = nums4.map(function map(item,index,array){
            log2 = 'index['+index+']:'+ item +' ';
            return log2;//map()会返回每次函数调用的结果,作为一个数组。
        })
        console.log(result4);

        //some()
        var nums5 = [1,2,3,4,true];
        var result5 = nums5.some(function some(item,index,array){
            if (typeof(item) == "boolean")
            return true//只要函数对任意一项返回true,整个方法就会返回true
        })
        console.log(result5);
    </script>

 

posted @ 2019-02-25 19:33  林不渡  阅读(278)  评论(0编辑  收藏  举报