码迷,mamicode.com
首页 > 其他好文 > 详细

数组迭代方法和类数值

时间:2014-08-17 21:12:22      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   使用   io   for   ar   

  数组的迭代方法有every,some,forEach,fliter,map。

  每个方法的参数是一个函数,函数的第一个参数是数组项,第二个参数是数组项的索引,第三个参数是数组本身

  every方法对数组的每一项执行给定函数,如果每一项的执行结果都为true,则返回true;

1 //用every方法检测数组的每一项是否都是偶数,是则返回true,不是则返回false
2     function testEvery(){
3         var a=[1,2,5,0,3,9];
4        var result= a.every(function(item){
5            return item%2==0;
6         });
7         console.log(result);
8     }
9     testEvery();//结果false

  some方法对数组每一项执行给定函数,如果有至少一项满足条件,则返回true,否则返回false

1 //用some方法检测数组中书否有偶数项,有则返回true,无则返回false
2     function testSome(){
3         var a=[1,2,5,0,3,9];
4         var result= a.some(function(item){
5             return item%2==0;
6         });
7         console.log(result);
8     }
9     testSome();//结果为true

  forEach方法对数组每一项执行函数,没有返回值,和for循环一样的效果

 1  //用forEach方法把数组中大于3的数变成3
 2     var a=[1,2,5,0,3,9];
 3     function testForEach(){
 4         a.forEach(function(item,index,arr){
 5             if(item>3){
 6                 arr[index]=3;
 7             }
 8         })
 9     }
10     testForEach();
11     console.log(a);//结果[1,2,3,0,3,3]

 

  filter方法对数组的每一项执行函数,返回结果为true的项组成的数组

1 //获得数组中的值为偶数的项
2     function testFilter(){
3         var a=[1,2,5,0,3,9];
4         var result=a.filter(function(item){
5             return item%2==0;
6         })
7         console.log(result);
8     }
9     testFilter();//结果[2,0]

  map方法对数组的每一项执行函数,返回结果

//数组项加倍
    function testMap(){
        var a=[1,2,5,0,3,9];
        var result=a.map(function(item){
            return item*2;
        })
        console.log(result);
    }
    testMap();//结果[2,4,10,0,6,18]

 

对类数组直接运用数组的迭代方法会报错

//对类数组,比如arguments childNodes
    function likeArray(){
        var b=arguments.map(function(item){
            return item>0;
        })
     console.log(b); } likeArray(
5,-2,3,8,-9);//报错

对类数组运用Array.prototype.方法.call(类数组,参数)进行转换后可以使用数组方法

1 //转换后
2     function testLikeArray(){
3         var b=Array.prototype.filter.call(arguments,function(item){
4             return item>0;
5         })
6         return b;
7     }
8     var result=testLikeArray(1,3,-10,-6,-8,22);
9     console.log(result);//结果[1,3,22]

 

数组迭代方法和类数值,布布扣,bubuko.com

数组迭代方法和类数值

标签:des   style   blog   color   使用   io   for   ar   

原文地址:http://www.cnblogs.com/wuxiandiejia/p/3918216.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!