ES5新增数组的方法 (indexof/forEach/map/filter)

新增的数组常见方法:以下说明中,红色为必选参数,蓝色为可选参数
    1.indexOf(data,start);
        用于返回某个数组或者字符串中规定字符或者字符串的位置;
        var arr = ["a","b","c","d","e"];
        arr.indexOf("a");        //0
        //返回当前查询字符所在的位置的下标,如果查询不到,返回-1,start表示从第几位开始查询。

    2.forEach(callback); 循环,遍历数组
        var arr = [2,3,4,5,6,7,8];
        arr.forEach(function(value,index,arr){
            console.log(value,index,arr);
            //函数中的三个参数分别代表,该项的值,该项下标,数组本身
        })

    3.map(callback); 会遍历当前数组,然后调用参数中的方法,返回当前方法的返回值;
        3.1 执行次数和参数,参考forEach
            var arr = [2,3,4,5,6];
            arr.map(function(value,index,arr){
                console.log(value,index,arr);
            })
        3.2 返回值 及 应用
            map不会改变原有数组,而是将函数执行一次之后的返回值组成一个新数组,返回出来
            var arr = [2,3,4,5,6];
            var newArr = arr.map(function(value,index,arr){
                return value-1;
            })
            console.log( newArr );  //得到一个经过计算的数组

    4.filter(callback); 同map方法,返回值为布尔值true 的时候,才会返回该数据
        4.1 同map的3.1
        4.2 filter不会改变原有数组,而是将函数执行一遍,只有在布尔值为true的时候才会返回该数据
            var arr = [2,3,4,5,6];
            var newArr = arr.filter(function(value,index,arr){
                return value > 3;
            })
            console.log( newArr );  //得到一个经过筛选的数组

原文地址:https://www.cnblogs.com/shun1015/p/12663076.html

时间: 2024-11-09 02:04:30

ES5新增数组的方法 (indexof/forEach/map/filter)的相关文章

ES5新增数组的方法

1.Array.indexof(value1,value2) Tip:用于返回某个数组或字符串中规定字符或者字符串的位置. (1)当Array.indexof(value1);里面只有一个值的时候,表示value1在arr数组里面的我们想要得到查找的值. var arr = [11,12,13,14,15,16,"hello",17]; var i = arr.indexOf(13);//表示13在数组中的索引 var a = arr[i];//在下面我们console.log我们可以

ES5新增 数组,字符串,对象方法

数组新增方法 迭代方法:forEach() map() filter() some() every() forEach() // array.forEach(function (currentValue, index, arr)); // currentValue:数组当前项的值 // index: 数组当前项的索引 // arr:数组对象本身 var arr = [1, 2, 3]; arr.forEach(function(value, index, array) { console.log

数组那些事(slice,splice,forEach,map,filter等等)

周五,再过会要下班了,刚才把<javascript高级程序设计>数组这块又看了下,加深下记忆.今天来继续练练笔,嘿嘿!(写下自己印象不深的东西) 一.数组的定义(数组定义分为两种) 方法一:1 var color=new Array(num);//num为数字,(当然可写,可不写) 表示数组长度 var color=new Array("red","yellow");//直接定义数组内容 方法二: 2.var color=[];//当然也可以定义的时候直

ES5中数组的方法

1.forEach() 从头到尾遍历数组,为每个元素调用指定函数 第一个参数:传递的函数该函数调用的参数:数组元素.元素索引.数组本身 例子: 2.map() 调用数组的每个元素传递给指定的函数,并返回一个包含返回值的新数组:传递给map()的函数有返回值,map()返回新数组,不会修改调用的数组:如果是稀疏数组,返回的也是相同方式的稀疏数组. 例子: 3.filter() 返回数组的一个子集,回调函数用于逻辑判断是否返回,返回true则把当前元素加入到返回数组中,false则不加: 新数组只包

js数组遍历some,foreach,map,filter,every对比

1. [...].some(ck)函数       ----      某个一个为true,则为true 对数组中每个元素执行一次ck函数,知道某个元素返回true,则直接返回true.如果都返回false,则返回false 检查整个数组中是否有满足ck函数的元素. var result = [1,5,3,6].some(  (v,i)  =>  (v>10) )      //所有元素都不满足,返回result = false var result = [10,5,30,60].some(

ES5新增数组方法every()、some()、filter()、map()

JavaScript ES5标准中新增了一些Array方法,如every().some().filter().map().它们的出现使我们能够更加便利地操作数组,但对IE9以下浏览器的兼容性比较差.下面来看一下它们的用法. //数组中的元素全部满足指定条件返回true //运行结果为false var checknum = [15,3,2,6,7,1,9,10]; var checkresult = checknum.every(function(item,index,array){ retur

ES5中Array新增加的API接口 forEach map filter some every indexOf lastIndexOf reduce reduceRight

var array = [23,48,66,2]; forEach:循环.遍历数组:没有返回值.与for循环类似 array.forEach(function( value, index, array ) { console.log(value); return value * value; } ); map:映射的意思,映射返回一个新数组,有返回值;filterArr:返回一个新对象 var mapArr = array.map(function(value, index, array ){

数组方法重写:forEach, map, filter

Array.prototype.myForEach = function(fn) { var arr = this, len = arr.length, arg2 = arguments[1] || window; for(var i = 0; i < len; i++) { fn.apply(arg2, [arr[i], i, arr]); } }; Array.prototype.myFilter = function(fn) { var arr = this, len = arr.leng

处理数组的forEach map filter的兼容性

处理数组的forEach 1 //forEach处理 2 if(!Array.prototype.forEach) { 3 Array.prototype.forEach = function (callback) { 4 for(var i=0,len=this.length;i<len;i++) { 5 callback(this[i], i); 6 } 7 } 8 } 处理数组的map 1 //处理map 2 if(!Array.prototype.map) { 3 Array.proto