js数组方法整理

版权声明: https://blog.csdn.net/chenacxz/article/details/84327099
js数组方法介绍
增加:
push:在数组原有的基础上的末尾,添加元素(改变当前数组,返回一个新的数组)
var arr = [90, 5, 21, 80, 83, 1, 8, 17, 22];
arr.push(1)
arr.push('1','a')
arr.push([1,2]);
console.log(arr);//[90, 5, 21, 80, 83, 1, 8, 17, 22, 1, "1", "a", [1,2]]

concat和push的添加方法基本相同,都是向末尾添加内容

不同的是:
他不改变当前数组的内容
无论添加的是一个数组,concat只返回一个一维数组,
push则是将添加的元素看成一个整体添加进来
concat一般用于两个一维数组的合并工作,或者不想改变当前数组的数组,以便其他地方继续调用当前数组
var arr = [90, 5, 21, 80, 83, 1, 8, 17, 22];
arr.concat(1)
arr.concat('1','a')
arr.concat([1,2]);
console.log(arr)//原有数组的数组不发生改变,输出[90, 5, 21, 80, 83, 1, 8, 17, 22]
console.log(arr.concat(1))//[90, 5, 21, 80, 83, 1, 8, 17, 22, 1]
console.log(arr.concat('1','a'))//[90, 5, 21, 80, 83, 1, 8, 17, 22, "1", "a"]
console.log(arr.concat([1,2]))//[90, 5, 21, 80, 83, 1, 8, 17, 22, 1, 2]

unshift添加到数组首位,返回数组长度,改变当前数组的元素
var arr=["3","2","1"];
console.log(arr.unshift(1));//4
console.log(arr);//[1, "3", "2", "1"]


删除:
pop:删除尾部元素,并返回数组长度
var arr=[3,2,2,1];
arr.pop()
console.log(arr.pop());//2
console.log(arr);//[3,2]
shift:删除头部元素,并返回数组长度
var arr=[3,2,2,1];
arr.shift()
console.log(arr.shift());//2
console.log(arr);//[2,1]

splice:删除数组里面的元素,返回新的数组
var arr=[3,2,2,1];
arr.splice(0,1)//0:需要改变的下标,1, 需要改变0后的几个元素。从0开始删除一个元素 
console.log(arr);//[2,2,1]
arr.splice(0,1,4)
console.log(arr);//0:需要改变的下标,1, 需要改变0后的几个元素。2是替换第0下标下的元素 arr=[4,2,1]

slice用于数组的截取,原数组的内容不发生改变
var arr=[3,2,2,1];
arr.slice(1);
arr.slice(1,3);
console.log(arr.slice(1,3));//[2,2]
console.log(arr.slice(1));//[2, 2, 1]
console.log(arr);//[3, 2, 2, 1]

reverse
数组调转
sort数组排序
arr.sort(function(x,y){
    return x-y;
})升序
arr.sort(function(x,y){
    return y-x;
})降序

join是将数组转换成字符串
var arr=[3,2,2,1];
arr.join(",");
console.log(arr)
console.log(arr.join(","))
[3, 2, 2, 1]
3,2,2,1

总结:不改变原数组的方法
concat slice join
改变原数组
pop shift unshift push splice reverse sort 

猜你喜欢

转载自blog.csdn.net/chenacxz/article/details/84327099