JavaScript 数组方法总结

JavaScript 数组方法总结

1.push()
参数:任意个 任意值
返回值: 一个数字 增加数据之后的长度 注意 返回值是个数
功能:在数组的尾部增加数据,增加的数据是push的参数(不是传到数组 是传到函数 函数通过方法加到数组)
数组的操作有没有修改原数组: 有

var arr = [1,2,3,4,5];
var res = arr.push("a","b");
console.log(res);//7
console.log(arr);//[1, 2, 3, 4, 5, "a", "b"]

2.unshift()
参数:任意个 任意值
返回值 一个数字 增加数据之后的长度
功能:在数组的头部增加数据,增加的数据是unshift的参数(不是传到数组 是传到函数 函数通过方法加到数组)
数组的操作有没有修改原数组 有

var arr = [1,2,3,4,5];
var res = arr.unshift("a","b");
console.log(res);//7
console.log(arr);//["a", "b", 1, 2, 3, 4, 5]

3.pop()
参数:没有参数
返回值:被删除的数据
功能:删除最后一位
有没有修改原数组 有

var arr = [1,2,3,4,5];
var res=arr.pop();
console.log(res);//5
console.log(arr);//[1, 2, 3, 4]

4.shift()
参数:没有参数
返回值:被删除的数据
功能:删除第一位
有没有修改原数组 有

var arr = [1,2,3,4,5];
var res = arr.shift();
console.log(res);//1
console.log(arr);//(4) [2, 3, 4, 5]

5.splice()
参数 一个 两个 三个及以上
返回值:被删除的数组 返回从索引号为n开始的值
是否改变原数组:是
有没有修改原数组 有 剩下的数组

参数:一个 (整数/负数)
功能:返回从第n为索引号开始,到结束的新数组

var arr1 = [1,2,3,4,5,6];
var res=arr1.splice(2);
console.log(res);//[3, 4, 5, 6]
console.log(arr1);//(2) [1, 2]

var arr1 = [1,2,3,4,5,6];
var res=arr1.splice(-2);
console.log(res);//[5, 6]
console.log(arr1);//[1, 2, 3, 4]

参数:两个 第一个索引 第二个删除个数
功能:返回从指定索引开始的新数组,个数为第二个参数

var arr2 = [1,2,3,4,5,6];
var res=arr2.splice(2,3);
console.log(res);//(3) [3, 4, 5]
console.log(arr2);//(3) [1, 2, 6]

参数:三个及以上 第一个表示索引 第二个个数 从第三个开始向后,都是增加的数据
功能:从指定索引删除指定个数个,填充第三个参数向后所有的数据

var arr2 = [1,2,3,4,5,6];
var res=arr2.splice(2,3,"abc");
console.log(res);//[3, 4, 5]
console.log(arr2);//[1, 2, "abc", 6]

6.slice()
参数:一个数值(正值/负值),或两个
是否改变原数组:否

参数:一个n
返回值:留n个数的新数组
功能:从指定索引开始截取返回成一个新数组,把从索引号为n开始的数的后面都砍掉

var arr = [1,2,3,4,5];
var res = arr.slice(2);
console.log(res);//[3, 4, 5]
console.log(arr);//[1, 2, 3, 4, 5]

var arr = [1,2,3,4,5,6];
var a = arr.slice(-2);
console.log(a);//(2) [5, 6]
console.log(arr);//[1, 2, 3, 4, 5, 6]

参数:两个数
返回值:留下从索引号为[n1-n2)的新数组,左闭右开
功能:从指定位置开始截取 截取到指定位置前一个 截取的数放到一个新数组

var res = arr.slice(3,2);
console.log(res);//[]
console.log(arr);//[1, 2, 3, 4, 5]
var res = arr.slice(2,3);
console.log(res);//[3]
console.log(arr);//[1, 2, 3, 4, 5]

—splice()方法和slice()方法的区别
区别1:
splice() 方法 用于插入、删除或替换数组的元素。
  sice() 方法 可提取字符串的某个部分,并以新的字符串返回被提取的部分
区别2:
splice()方法改变原数组
slice()方法不改变元数组

7.reverse()
参数:没有
返回值:倒序排列之后的数组
功能:将数组倒序排列
是否改变原数组:是

var arr = [1,2,3,4,5];
console.log(arr);//[1, 2, 3, 4, 5]
var res = arr.reverse();
console.log(res);//[5, 4, 3, 2, 1]
console.log(arr);//[5, 4, 3, 2, 1]

8.join()
参数:没有
返回值:字符 数字和标点
功能:将数组转成字符串
是否改变原数组:否

var arr = [1,2,3,4,5];
console.log(arr);//[1, 2, 3, 4, 5]
var res = arr.join();
console.log(res);//1,2,3,4,5黑色 字符
console.log(arr);//(5) [1, 2, 3, 4, 5]

9.sort()
参数:没有
返回值:按照字符排序规则排序后的数组
功能:把数组按字符排序
是否改变原数组:是

var arr1 =[5,3,6,2,4,1];
var res1 = arr1.sort();
console.log(res1);//[1, 2, 3, 4, 5, 6]
console.log(arr1);//[1, 2, 3, 4, 5, 6]

注意:sort默认是字符的排序规则 逐位比较 得到结果就停止

var arr2 =[5,31,6,222,4,1];
var res2 = arr2.sort();
console.log(arr2);//[1, 222, 31, 4, 5, 6]
console.log(res2);//[1, 222, 31, 4, 5, 6]

解决办法
正序

var res2 = arr2.sort(function(z,x){
    return (z-x)
}) 
console.log(res2);//[1, 4, 5, 6, 31, 222]

倒序

var res2 = arr2.sort(function(z,x){
    return (x-z) 
})
console.log(res2);//[222, 31, 6, 5, 4, 1]

10.concat()
参数:有 是要拼接的数组名
返回值:按照字符排序规则排序后的数组
功能:把数组按字符排序
是否改变原数组:否

var arr1=['a','b'];
var arr2=[4,5];
var res = arr1.concat(arr2)
console.log(res);//["a", "b", 4, 5]
console.log(arr1);//["a", "b"]
console.log(arr2);//[4, 5]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值