JavaScript数组方法大全(第二篇)

数组方法大全(第二篇)

注意:如有错误欢迎指出,如有雷同纯属巧合,本博客参考书籍JavaScript权威指南,有兴趣的小伙伴可以去翻阅一下哦

forEach()方法

遍历数组,里面可以传递一个方法

var arr = [1,2,3];
arr.forEach(function (item,index,array) {
    //item:表示数组中元素的每一项
    //index:表示每一项所对应的索引
    //array:表示原数组
})

map()方法

将调用数组的每个元素传递给指定的函数,并返回一个新的数组,不会去修改原数组

var arr = [1,2,4,,6];
var a = arr.map(function (item,index,array) {
    //item:表示数组中元素的每一项
    //index:表示每一项所对应的索引
    //array:表示原数组
    //得有返回值
    return item * 2
})

console.log(a);     ==>输出[2,4,8,,12]
console.log(arr);   ==>输出[1,2,4,,6]

filter()方法

过滤,传递的函数是用来逻辑判定的,该函数返回true或false,如果返回值为true或者能转化为true的值,那么传递给判定函数的元素就是这个子集的成员,就会加入到返回的数组当中去(可以理解为数组当中的每个元素,只要满足自己设定的条件,就会添加到返回的数组当中去)

不修改原数组返回的是满足设定条件元素所组成的数组

var arr = [1,2,4,5,6];
var a = arr.filter(function (item,index,array) {
    //item:表示数组中元素的每一项
    //index:表示每一项所对应的索引
    //array:表示原数组
    //得有return值,不填返回一个空数组
    return item < 4;
})

console.log(a);     ==>输出[1,2]
console.log(arr);   ==>输出[1,2,4,5,6]

every()方法

数组中的每个元素是否满足某个条件,返回值true或false,当有一个不满足条件时就会返回false,当所有元素都满足条件时返回true

var arr = [1,2,3,4];
var a = arr.every(function (item,index,array) {
    //item:表示数组中元素的每一项
    //index:表示每一项所对应的索引
    //array:表示原数组
    return item < 5;
})
console.log(a); ==>输出true

some()方法

数组中的元素是否满足某个条件,返回值true或false,当有一个满足条件时就会返回true,当所有元素都不满足条件时返回false

var arr = [1,2,3,4];
var a = arr.some(function (item,index,array) {
    //item:表示数组中元素的每一项
    //index:表示每一项所对应的索引
    //array:表示原数组
    return item < 3;
})
console.log(a); ==>输出true

注意:every()和some()的区别:ervery()一假及假,some()一真及真

reduce()方法

它需要传递两个参数,第一个参数是函数,第二个参数(可选)是传递给函数的初始值

//假设得到数组当中的每位元素相加的结果,就可以:
var arr = [1,2,3,[[5]],{}];
var a = arr.reduce(function (x,y,index,array) {
    //x:当有初始值时就代表初始值,没有传递初始值时就为数组第一位,当开始计算时,就为上次运算return的结果
    //y:当有初始值时代表数组第一位,没有就代表第二位,当开始计算时表示数组当中的元素
    //index:表示数组当中当前元素的索引值
    //array:数组元素本身
    return x + y
},0)
console.log(a); ==>输出 65[object Object]

reduceRight()方法

详情请戳这里

indexOf()方法、lastIndexOf()方法

搜索整个数组中具有给定制的元素,返回找到的第一个元素的索引,如果没有就返回-1

可以传递两个参数,第一个参数表示需要搜索的元素,第二个参数(可选),表示从哪个位置开始搜索,可以是负数表示从数组的倒数第几位开始查找

indexOf()方法从头至尾搜索,而lastIndexOf()则反向搜索

var arr = [1,2,3,4,2,4];
var a = arr.indexOf(2);
console.log(a);     ==>输出1
console.log(arr);   ==>输出[1,2,3,4,2,4]

var b = arr.lastIndexOf(2);
console.log(b);     ==>输出4
console.log(arr);   ==>输出[1,2,3,4,2,4]

var c = arr.lastIndexOf(2,-3);
console.log(c);     ==>输出1

你可能感兴趣的:(JavaScript数组方法大全(第二篇))