JS数组对象的方法
1.concat() 连接数组的方法
var array1 = [1];
var array2 = [2];
var array3 = [3];
var array = array1.concat(array2);
console.log(array1);
console.log(array);
var array = array.concat(array2, array3);
console.log(array);
注意的点:
- 该方法不会改变原数组,拼接后的新数组作为返回值。
- 参数个数可以是多个。
2.仅在一端操作的方法
push()方法
向数组的末端添加一个(或多个)元素,并返回添加后的长度
var array = [];
var length = array.push(1);
console.log(array + " length:" + length);
length = array.push(2, 3);
console.log(array + " length:" + length);
pop()方法
删除并返回数组末端的一个元素
var array = [1, 2, 3];
var del = array.pop();
console.log(array);
console.log(del);
unshift()
向数组的开头添加一个(或多个)元素,并返回添加后的长度
var array = [];
var length = array.unshift(1);
console.log(array + " length:" + length);
length = array.unshift(2, 3);
console.log(array + " length:" + length);
shift()
删除并返回数组开头的一个元素
var array = [1, 2, 3];
var del = array.shift();
console.log(array);
console.log(del);
注意的点:
- 上述四个方法会改变原数组
- 通过两两组合,很容易实现栈和队列的操作
3.获得连续子序列slice()方法
该方法可以返回一个子序列
两个参数,第一个参数start,第二个参数end
-
start:子序列开始的下标,可以是负数,-1表示最后一个元素
-
end:子序列结束的后一个位置;可以不填,表示start开始的所有元素
var array = [1, 2, 3, 4, 5, 6, 7, 8,]; var arr = array.slice(1, 5); console.log(arr); arr = array.slice(-4); console.log(arr); console.log(array);
注意的点:
- 不会改变原数组,结果作为返回值
- 参数可以是负值
4.任意修改数组的splice()方法
该方法可以删除数组任意位置的连续元素,同时可以将新的元素插入到删除的位置(可选);返回值:删除的部分
参数,第一个参数index;第二个参数nums;其他参数
- index:要删除的位置
- nums:要删除的个数
-
其他参数:要添加的元素
var array = [1, 2, 3, 4, 5, 6, 7, 8]; var del = array.splice(1, 5); console.log("del : " + del) console.log("array : " + array); console.log("-----------------------") del = array.splice(0, 3, 10, 20, 30, 40, 50); console.log("del : " + del); console.log("array : " + array);
注意的点:
- 该方法会修改原数组
5.逆置数组 reverse()
var array = [1, 2, 3, 4, 5, 6, 7, 8];
console.log(array);
array.reverse();
console.log(array);
注意的点:
- 该方法会修改原数组,而不是会创建新的数组作为返回值
6.排序sort()
参数:用作回调的函数;也可以不写参数,表示使用字符编码进行排序
var array = [5, 3, 2, 8, 5, 6, 4, 7];
array.sort(function(a, b){
return a - b;
});
console.log(array);
回调函数的规则:
- 有两个参数,排序是进行比较的规则
- 如果a < b,并且排序后希望a在b前面(升序),则返回小于0的值