自定义一个函数或者对象的方法,这是js语言里自带的方法。
考虑的方面:功能,参数,返回值
- push/pop
- unshift/shift
- slice/splice
- reverse/sort
- join/concat
(除了slice和concat是原数组不发生改变,其他的都是原数组发生改变)
1.push()可以接受多个参数,将参数追加到数组的尾部,返回增加后的数组的长度,原数组发生改变
var arr = [1,2,3,6];
var a = arr.push(11,22,33);
console.log(arr);//(7)[1,2,3,6,11,22,33]
console.log(a);//7表示返回增加后的数组的长度
2.pop()不接受参数,从数组尾部删除一个元素,返回删除的元素,原数组发生改变
var arr = [1,2,3,6];
var a = arr.pop();
console.log(arr);//(3)[1,2,3]
console.log(a);//6表示返回删除的元素
3.unshift()可以接受多个参数,将参数追加到数组的头部,返回增加后的数组的长度,原数组发生改变
var arr = [1,2,3,6];
var a = arr.unshift(11,22);
console.log(arr);//(6)[11,22,1,2,3,6]
console.log(a);//6表示返回增加后的数组的长度
4.shift()不接受参数,从数组头部删除一个元素,返回删除的元素,原数组发生改变
var arr = [1,2,3,6];
var a = arr.shift(11,22);
console.log(arr);//(3)[2,3,6]
console.log(a);//1表示返回的是删除的元素
5.slice()截取
slice()无参数 整体截取;
1个参数,从该参数表示的索引位开始截取,直至数组结束;
2个参数,从第一个参数表示的索引位开始截取,到第2个表示索引结束,但不包括第2个索引对应的值
返回截取的数组,原数组不改变
var arr = [11,2,3,5];
var a = arr.slice(0,1);
console.log(arr);//(4)[11,2,3,5]
console.log(a);//[11]
6.splice()无参数,不截取;
1个参数,该参数表示开始的索引;
2个参数,第2个参数表示截取的个数;
3个或以上的参数,将第3个及以后的参数插入到截取的开始位置
返回截取的数组,原数组发生改变
var arr = [11,2,3,5];
var a = arr.splice(1,2,33,44);
console.log(arr);//(4)[11,33,44,5]
console.log(a);//(2)[2,3]
7.reverse()数组元素的翻转
返回翻转的数组,原数组发生改变
var arr = [1,2,3,4];
var a = arr.reverse();
console.log(arr);//(4)[4,3,2,1]
console.log(a);//(4)[4,3,2,1]
8.sort()排序
//这种写法得到的只是按第一位比较得到的从小到大排序
var arr = [5,11,8,22,3,9];
var a = arr.sort();
console.log(arr);//(6)[11,22,3,5,8,9]
console.log(a);//(6)[11,22,3,5,8,9]
//使用function(a,b){return a-b}方法才可以按从小到大排序
var arr = [5,11,8,22,3,9];
arr.sort(function(a,b){
return a-b;从小到大
// return b - a;//从大到小
});
console.log(arr);//(6)[3,5,8,9,11,22]
9.join() 将数组转换成字符串
var arr = [1,2,3,4];
var str = arr.join();
//这种写法得到的结果是1,2,3,4;
//所以想要去除逗号,必须加上引号,输出的结果才为1234,
//如下所示
var str = arr.join("");//"1234"
10.concat() 合并数组
var arr1 = [1,2];
var arr2 = [3,4];
var arr = arr1.concat(arr2);
console.log(arr);//[1,2,3,4]