•对于ECMAscript5这个版本的Array新特性补充:
–位置方法:indexOf      lastIndexOf
–迭代方法:every  filter   forEach   some    map
–缩小方法:reduce    reduceRight
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Untitled Document</title>
        <script type="text/javascript" charset="utf-8">
            
            var arr = [1,2,3,4,5,4,3,2,1];
            
            //新加位置地方法:indexOf   lastIndenxOf
            
            //一个参数的时候表示传值,返回索引的位置 (index从0开始)
            //var index = arr.indexOf(5);     //4
            //alert(index);
            //两个参数:第一个:起始位置,第二个参数:值
            //var index = arr.indexOf(4,4);
            //alert(index);
            //他们查找数组元素用‘===’;
            
            //lastIndexOf
            //var index = arr.lastIndexOf(2);
            //alert(index);
            
            
            //5个新增迭代的方法
            /**
             * 1 every:对数组的每一个元素进行函数的运行,
             * 如果都返回true,最后返回true,有一个返回false,最后返回false
             * 
             回掉函数
            var result = arr.every(function(item,index,array){
                return items >0;   //数组元素是否都大于0
            });
            alert(result);
            
            */
            
            /**
             * 2 filter:对数组的每一项进行函数的运行,把过滤后的结果返回
             
            var result = arr.filter(function(item,index,array){
                return item >2;  //返回大于2的
            });
            alert(result);    //34543
            */
            //3 forEach:循环数组的每一项的值,并执行一个方法
            /*
            arr.forEach(function(item,index,array){
                alert(item);
            });
            */
            
            //4 map:对数组的每一项进行函数的运行,返回执行的结果,新的数组
            /*
            var result = arr.map(function(item,index,array){
                return item*3;        //把数组每一项*3,返回新的数组
            });
            alert(result);
            */
            //5 some:跟every相反,有一个返回true就返回true
            /*
            var result = arr.some(function(item,index,array){
                return item >=5;
            });
            alert(result);
            */
            
            //reduce  reduceRight
            //变量的起始位置不同
            //前一个值,当前值,索引值,array数组本身
            /*
            var result = arr.reduce(function(prev,cur,index,array){
                return prev + cur ;    //前一个值+当前值。求和25
            });
            alert(result);
            */
            
            var result = arr.reduceRight(function(prev,cur,index,array){
                return prev + cur ;    //前一个值+当前值。求和25
            });
            alert(result);
        </script>
    </head>
    <body>
    </body>
</html>

 

欢迎关注个人公众号一起交流学习: