js_Array类型_迭代方法

时间:2020-03-06 13:22:30   收藏:0   阅读:81

ES5定义了5种迭代方法:every(),filter(),forEach(),map(),some()

每个方法都接受两个参数:1.要在每一项上运行的函数。2.运行该函数的作用域对象————影响this的值(可选)

要在每一项上运行的函数接收三个参数:1.数组项的值(item)。2.该项在数组中的位置(index)。3.数组对象本身(array)

every()————对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true

var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
        var everyResult=numbers.every(function(item,index,array){
            return item>2;
        });
        alert(everyResult);//false

some()————对数组中的每一项运行给定函数。如果函数对任一项返回true则返回true

var someResult=numbers.some(function(item,index,array){
            return item>2;
        });
        alert(someResult);//true

filter()————对数组中的每一项运行给定函数,返回该函数回返回true的项组成的数组

var filterResult=numbers.filter(function(item,index,array){
            return item>2;
        });
        console.log(filterResult);//[3,4,5,4,3]

map()————对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组

var mapResult=numbers.map(function(item,index,array){
            return item*2;
        });
        console.log(mapResult);//[2,4,6,8,10,8,6,4,2]
        console.log(numbers);//[1,2,3,4,5,4,3,2,1]

forEach()————对数组中的每一项运行给定函数,这个方法没有返回值

var newArr=[];
        numbers.forEach(function(item,index,array){
            if(item>2){
                newArr.push(array[index]*2);
            }
        });
        console.log(newArr);//[6,8,10,8,6]

总结说人话

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!