JS数组常用api

1,285 阅读2分钟

1.indexOf()

功能 在数组中检索元素 
参数 需要检索的值
返回值 假如从左到右找到则返回第一个满足条件的下标 假如找不到返回-1
lastIndexOf()基本与indexOf类似,只不过它是从右往左找

2.forEach()

高阶函数——函数的参数是一个函数或者返回值是一个函数
arr.forEach(function(item, index, array) {
    // item 代表数组每个元素 index代表数组元素的索引
    console.log(item + ":" + index);
});

3.some()

功能 判断是否有满足条件的元素
参数 同forEach
返回值 布尔值,找到满足条件的第一个元素 则终止循环 返回true,找不到则返回false
var bool = arr.some(function(v, i, arr) {
    return v > 60;
});

4.filter()

功能 把满足条件的所有元素筛选出来
参数 同forEach
返回值 新的数组由满足条件的原数组元素组
var newArr2 = arr.filter(function(v, i, arr) {
    return v % 2 === 0;
});    

5.every()

功能 判断数组元素是否都满足条件  参数 同forEach
返回值 布尔值 假如数组元素都满足 返回true,假如遇到第一个不满足的元素 循环终止 返回false
var flag = arr.every(function(v, i, arr) {
    return v > 60;
});

6.map()

功能 对元素进行遍历(迭代)处理
参数 同forEach
返回值 根据原数组产生长度一样的新的数组 新数组的每一个元素由原数组,对应的元素带入函数参数后的返回值
var newArr3 = arr.map(function(v, i, arr) {
    return v + 1;
});

7.reduce()

功能 遍历数组元素,从头开始,依次往下,第一个参数是上一次的返回值,第二个参数是下一个数组元素,首次的时候第一个和第二个参数分别是 array[0],  array[1]
参数 
    参数1:表示累计值默认会取数组第一个元素值,下次循环的时候会取上一次函数的返回值
    参数2:表示当前的值 第一次会取数组第二个值  
    参数3:表示当前的值对应的索引
    参数4:表示原数组
返回值 最后一个元素带入函数之后的返回值
var sum = arr.reduce(function(start, v, i, arr) {
    return start + v;
}, 0);

8.concat()

连接数组 返回值是合并后的新数组
var arr3 = arr1.concat(arr2);

9.join()

把数组元素以某种分隔符连接到一起,形成一个字符串
var str = arr.join(':')//1:2:3

10.reverse()

对数组进行逆序 会改变原数组

11.sort()

对数组元素排序
arr.sort(function(a, b) {
    //return a - b; // 升序
    return b - a; // 降序
});