-
改变原数组的方法
- Array.prototype.push()
push()方法往数组末尾添加一个或者多个元素,返回新数组长度,原数组被修改
const array1 = [1, 2, 3];
const pushReturnLength = array1.push(5);
- Array.prototype.pop()
pop()删除数组的最后一个元素,返回被删除的值,原数组被修改
const array1 = [1, 2, 3];
const popReturnData = array1.pop();
- Array.prototype.shift()
shift()删除数组的第一个元素,返回被删除的值,原数组被修改
const array1 = [1, 2, 3];
const shiftReturnData = array1.shift();
- Array.prototype.unshift()
unshift()向数组头部添加一个或者多个元素,返回新数组长度,原属组被修改
const array1 = [1, 2, 3];
const unshiftReturnLength = array1.unshift(5, 6);
- Array.prototype.reverse()
reverse()将数组反转,返回反转后的数组,原数组被改变
const array1 = [1, 2, 3];
const reverseReturnNewArray = array1.reverse();
- Array.prototype.sort()
sort()用于对数组元素进行排序,比较的是UTF-16的值,一般我们会用在一个数字数组中进行升序或者降序排列。接收一个函数作为参数,函数有两参数。默认是升序排序,可以指定降序排列。返回排列后的数组,改变原数组
const array1 = [23, 34, 2];
const sortArray = array1.sort();
const sortReduceArray = array1.sort((a, b) => b - a);
- Array.prototype.splice()
splice()通过索引位置删除或者替换现有元素,或者原地添加新元素,返回被删除元素的数组,原数组被改变
接收三个参数,aplice(start, deleteCount, item1, item2, ...)
start:表示需要删除或者添加元素的开始位置 ,从索引位置开始操作,如果为负数,则从-n开始操作,如果负数的绝对值大于数组的长度,则表示开始位置为第0 位
deleteCount:可选参数,指定需要删除元素的个数,从start位置开始删除,如果有删除的元素,则返回被删除元素的数组,如果没有,则返回空数组
item1, item2, ...:要添加进数组的元素,从start位置开始添加
var myFish = ["angel", "clown", "mandarin", "sturgeon"];
var removed = myFish.splice(2, 0, "drum");
-
不改变原数组的方法
- Array.prototype.concat()
concat()方法用于合并两个或者多个数组,返回一个新数组,不会改变原数组
es6出现了数组的解构,可以更便捷的实现数组的拼接
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const array3 = array1.concat(array2);
const array4 = [...array1, ...array2];
- Array.prototype.slice()
slice()是截取数组中的一段元素,并且返回截取的元素数组。接收两个参数start,end,都是可选参数,从start开始截取到end,但不包含end。不改变原数组
const array1 = [1, 2, 3];
const sliceReturnData = array1.slice();
const sliceReturnData1 = array1.slice(1);
const sliceReturnData2 = array1.slice(1, 2);
- Array.prototype.join()
join(),将数组元素使用参数分隔符号拼接为字符串,并且返回,并不改变原数组
const array1 = ["hello", "world"];
const joinReturnString = array1.join("-");
- Array.prototype.indexOf()
indexOf()返回元素在数组中第一次出现的位置,不改变原数组
const array1 = [1, 2, 3, 2];
const indexOfReturnData = array1.indexOf(2);