JavaScript数组方法大全

操作数组最后一项

push()

添加元素到一个数组的末尾

var arr = [1, 2, 3];
arr.push(4, 5);
console.log(arr); // [1, 2, 3, 4, 5]

pop()

删除数组最后一项

var arr = [1, 2, 3];
arr.pop();
console.log(arr); // [1, 2]

操作数组第一项

shift()

删除数组第一项

var arr = [1, 2, 3];
arr.shift()
console.log(arr); // [ 2, 3 ]

unshift()

添加元素到数组的开头

var arr = [1, 2, 3];
arr.unshift(0)
console.log(arr); // [ 0, 1, 2, 3 ]

forEach()

循环遍历数组

var arr = [1, 2, 3];
var result = []
arr.forEach(item => {
    item = item + 1;
    result.push(item);
})

console.log(result); // [2, 3, 4]

filter()

过滤,循环遍历数组中每一项执行给定函数,返回满足过滤条件的元素组成的数组

var arr = [1, 2, 3, 4, 5];
var result = arr.filter(item => {
    return item > 3;
})
console.log(result); // [4, 5]

every()

判断数组中每一项是否都满足条件,都满足返回true,有一项不满足则返回false

var arr = [1, 2, 3, 4, 5];
var result = arr.every((item) => {
    return item < 6;
})
console.log(result); // true
var arr = [1, 2, 3, 4, 5];
var result = arr.every((item) => {
    return item < 3
})
console.log(result); // false

some()

判断数组中是否存在满足条件的项,只要有一项满足条件则返回true,都不满足则返回false

var arr = [1, 2, 3, 4, 5];
var result = arr.some((item) => {
    return item < 3;
})
console.log(result); // true
var arr = [1, 2, 3, 4, 5];
var result = arr.some((item) => {
    return item >6;
})
console.log(result); // false

map()

给数组中每一项都执行给定的函数,返回结果组成的新数组

var arr = [1, 2, 3, 4, 5];
var result = arr.map((item) => {
    return item * 2;
})
console.log(result); // [ 2, 4, 6, 8, 10 ]

join()

将数组的所有元素拼接为字符串

var arr = [2019, 9, 23];
var result = arr.join('-')
console.log(result); // 2019-9-23

reverse()

反转数组

var arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [ 3, 2, 1 ]

slice()

截取,返回由从原数组中截取的指定项组成的新数组,参数是开始下标和结束下标

var arr = [9, 8, 7, 6, 5];
var result = arr.slice(2, 3);
console.log(result); // [ 7 ]

splice()

  • 删除:删除任意数量项,参数为要删除的第一项下标和总共要删除的个数
    var arr = [1, 2, 3, 4, 5];
    arr.splice(1, 2);
    console.log(arr); // [ 1, 4, 5 ]
    
  • 插入:向指定位置插入任意数量的元素,参数分别为起始位置、0(要删除的个数,插入操作不需要删除所以为0)、要插入的元素
    var arr = [1, 2, 3, 4, 5];
    arr.splice(1, 0, 2, 2, 2);
    console.log(arr); // [ 1, 2, 2, 2, 2, 3, 4, 5 ]
    
  • 替换:替换任意位置的元素,参数分别为起始位置、要替换的个数、替换的新元素
    var arr = [1, 2, 3, 4, 5];
    arr.splice(1, 3, 2, 2, 2);
    console.log(arr); // [ 1, 2, 2, 2, 5 ]
    

sort()

升序或降序重新排列数组

function compare(value1, value2) {
    if (value1 < value2) {
        return -1;
    } else if (value1 > value2) {
        return 1;
    } else {
        return 0;
    }
}
var arr = [13, 24, 51, 3];
var result = arr.sort(compare);
console.log(result); // [3, 13, 24, 51]

降序改变return的返回值即可

indexOf()

查找数组中某项的索引,找不到则返回-1

var arr = [1, 2, 3, 4, 5];
var result = arr.indexOf(1);
console.log(result); // 0

你可能感兴趣的:(JavaScript,数组方法,数组,漫漫前端路)