数组的操作方法

自定义一个函数或者对象的方法,这是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]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值