var array=[1,2,3,4];
数组变异
push(): 直接在当前数组的末尾添加一个或多个元素,返回当前数组一个新的长度,但修改原数组以后会把新数组原原本本的输出,例如:
var a=array.push(5, [6,7]);
console.log(a);
console.log(array);
//输出如下:
// 6
// Array(6) [1, 2, 3, 4, 5, Array(2)]
pop():删除数组的最后一个元素,成功返回删除元素的值,例如:
var b = array.pop();
console.log(b);
console.log(array);
//输出如下:
// 4
// Array(3) [1, 2, 3]
shift() :删除数组的第一个元素,成功返回删除元素的值,例如:
var c = array.shift();
console.log(c);
console.log(array);
//输出如下:
// 1
// Array(3) [2, 3, 4]
unshift():在当前数组的最前面添加一个元素,成功返回当前数组的长度,同push相同,修改原数组以后会把新数组原原本本的输出,例如:
var d = array.unshift([5, 6]);
console.log(d);
console.log(array);
//输出如下:
// 5
// Array(3) [Array(2), 1, 2, 3, 4]
splice():三个参数(index:数组开始下标; len: 替换/删除的长度;item:替换的值,删除操作 的话 item为空),可以执行添加、删除、替换三种操作。
//添加 index可以是任意位置下标,len必须为0,item为要添加的对象
array.splice(1, 0, 'Tom');
console.log(array);
//输出如下:
//Array(5) [1, "Tom", 2, 3, 4]
//替换 index为要替换元素起始下标,len为替换长度,item为替换对象
array.splice(2, 1, 'Tom');
console.log(array);
//输出如下:
//Array(5) [1, 2, "Tom", 4]
//删除 index为要删除的元素起始下标,len为删除长度,item为空
array.splice(2, 2);
console.log(array);
//输出如下:
//Array(5) [1, 2]
sort():使原数组按照字符编码默认从小到大排序,成功返回排序后的数组,例如:
var arr = ['J', 'S', '最', '牛', 'X'];
var g = arr.sort();
console.log(g);
//输出如下:
//Array(5) ["J", "S", "X", "最", "牛"]
reverse():将数组倒序,成功返回倒序后的数组,例如:
var h = array.reverse();
console.log(h);
//输出如下:
//Array(4) [4, 3, 2, 1]
数组替换
concat():该方法是直接在原数组末尾拼接一个或多个新元素,和push()方法不同,它不会修改原来的那个数组,会直接返回一个新的数组,例如:
var newArray = array.concat(5, 6, 'Tom');
console.log(newArray);
console.log(array);
//输出如下:
//Array(7) [1, 2, 3, 4, 5, 6, "Tom"]
//Array(4) [1, 2, 3, 4]
slice():传入一个或两个参数,即选定的起始位置和结束位置,返回一个选定元素组成的新数组,不会改变原数组。
当传入两个参数时:该方法返回起始和结束位置之间的项,但不包括结束位置的项,例如:
var newArray = array.slice(1, 3);
console.log(newArray);
//输出如下:
//Array(2) [2, 3]
当传入一个参数时:该方法返回从该参数指定位置开始到当前数组末尾的所有项。例如:
var newArray = array.slice(1);
console.log(newArray);
//输出如下:
//Array(3) [2, 3, 4]
filter():该方法会复制出符合条件的元素,组成的新数组返回,不会改变原数组。例如:
var newArray = array.filter((elem) => elem < 4);
console.log(newArray);
console.log(array);
//输出如下:
//Array(3) [1, 2, 3]
//Array(4) [1, 2, 3, 4]
数组其他
split():将字符串按某个字符或者其他分割,返回一个数组,例如:
var str = "坚/持/不/懈/持/之/以/恒";
var newArray = str.split('/');
console.log(newArray);
//输出如下:
//Array(8) ["坚", "持", "不", "懈", "持", "之", "以", "恒"]