数组迭代

时间:2021-07-22 17:12:08   收藏:0   阅读:3

forEach(value,index,array)方法从头到尾遍历数组,为每个元素调用指定的函数.

用法:

//forEach 迭代(遍历)数组
        var arr1 = [1,2,3]
        arr1.forEach(function(value,index,array) {   //参数1:元素值  参数2:索引值  参数3:数组本身
            console.log(‘数组元素‘ + value);
            console.log(‘数组元素的索引号‘ + index);
            console.log(‘数组本身‘ + array);
        })

        // 例子
        //计算数组的和
        var arr2 = [1,2,3,4];
        var sum = 0;
        arr2.forEach(function(value,index,array){
            sum += value;
        })
        console.log(sum);

        //数组每个元素加1
        var arr3 = [1,2,3,4,5];
        arr3.forEach(function(value,index,array){
            arr3[index] = value + 1;
        })
        console.log(arr3);

 

map()方法和forEach调用函数的方式一样,但是map有返回值,且生成的是一个新的数组

用法:

//原数组通过调用函数后得到的数值存入新的数组
// map()和forEach函数调用方式一样,但是map有返回值
var ary = [1,2,3];
var newary = ary.map(function(value){
            return value*10;
        })
     console.log(newary);  //10, 20, 30
 

 

filter()方法返回的数组元素是调用该方法数组的一个子集,传递的函数是用来逻辑判断的,返回true或false,如果元素满足条件,则返回到这个子集数组中

用法:

//filter 筛选数组
        var arr = [12,66,4,88]
        var newArr = arr.filter(function(value,index,array){
            return value >=20;
        })
        console.log(newArr);    //66,88
        //返回的是满足所有条件的元素  生成一个数组

//注意:map和filter的区别 //当map中调用的函数体变为条件语句 value>=20时候 var arr2 = [12,66,4,88] var newArr2 = arr2.map(function(value,index,array){ return value >=20; }) console.log(newArr2); //false,true,false,true

 

 

every()方法对数组的逻辑判定:数组中所有元素满足所传递的函数,则返回true,否则返回false; (这里只要遇到满足false条件的元素就会终止循环)

用法:

var ary1 = [1,2,3,4,5]
var flag = ary1.every(function(value){
    return value>3;
})
console.log(flag);   //false  因为有1和2不满足大于3,所以返回false


var ary2 = [1,2,3,4,5]
var flag = ary2.every(function(value){
    return value>0;
})
console.log(flag);    //true 元素都满足大于0,所以返回true

 

some()方法也是对数组的逻辑判定:数组中有一个元素满足所传递的函数,则返回true,(这里只要遇到满足true的就会终止循环);一个都不满足则返回false

var ary1 = [1,2,3,4,5]
var flag = ary1.some(function(value){
    return value>3;
})
console.log(flag);  //true  元素中4,5满足条件,所以返回true

var ary2 = [1,2,3,4,5]
var flag =ary2.some(function(value){
    return value>6;
})
console.log(flag);  //false  元素中没有满足条件的,所以返回false

 

原文:https://www.cnblogs.com/joker-sqr/p/15043983.html

评论(0
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!