js 数组Array处理

1..Array.push(value1,value2,…)

向数组的末尾追加
返回值是添加数据后数组的新长度。
会改变原有数组

let arr = [1,2,3];
let result= arr.push(4,5);
console.log(result)   //5
console.log(arr)      //[1,2,3,4,5]
2.Array.unshift(value1,value2,)

向数组的开头添加
返回值是添加数据后数组的新长度。
会改变原有数组

let arr = [1,2,3];
let result= arr.unshift(4,5);
console.log(result)   //5
console.log(arr)      //[4,5,1,2,3]
3.splice(index,0,value1,value2,)

向数组的指定index处插入
返回的是被删除的元素。
会改变原有数组
如果只传入俩个参数,那就是从【参数1】的位置删除【参数2】个个数,看第6例

let arr = [1,2,3];
let result = arr.splice(2,0,4,5);
console.log(result)     //Array(0)
console.log(arr)	//[1,2,4,5,3]
4.pop()

从尾部删除一个元素
返回被删除掉的元素。
会改变原有数组

let arr = [1,2,3];
let result = arr.pop();
console.log(result)     //3
console.log(arr)	//[1,2]
5.shift()

从头部删除一个元素
返回被删除掉的元素。
会改变原有数组

let arr = [1,2,3];
let result = arr.shift();
console.log(result)     //1
console.log(arr)	//[2,3]
6.splice(index,howmany)

在index处删除howmany个元素,
返回的是被删除掉的元素的集合。
会改变原有数组

let arr = [1,2,3];
let result = arr.splice(1,2);
console.log(result)     //[2,3]
console.log(arr)	//[1]
7.reverse()

反转,倒置
该方法会改变原有数组。

let arr = [1,2,3];
let result = arr.reverse();
console.log(result)     //[3,2,1]
console.log(arr)	//[3,2,1]
8.sort()

按指定规则排序
改变原有数组。

let arr = [2,1,3];
let result = arr.sort();
console.log(result)     //[1,2,3]
console.log(arr)	//[1,2,3]

注意:如果你认为sort方法是让数组从小到大排序那就错了。看下面例子

let arr = [25,148,12,6,38];
let result = arr.sort();
console.log(result)     //[12, 148, 25, 38, 6]
console.log(arr)	//[12, 148, 25, 38, 6]

你会发现他没有按重小到大来排序,但是我们可以在例子中找到规律,他就是首先按照一个数字的第一个字符的大小去做比较,然后再用第二个字符去做比较,小的在前面。
如果想让这个数组真正从小到大进行排序,那么我们可以改造一下刚才的代码。
首先重大到小:

let arr = [25,148,12,6,38];
let result = arr.sort((a,b) => b - a);
console.log(result)     //[148, 38, 25, 12, 6]
console.log(arr)	//[148, 38, 25, 12, 6]

再从小到大:

let arr = [25,148,12,6,38];
let result = arr.sort((a,b) => a - b);
console.log(result)     //[6, 12, 25, 38, 148]
console.log(arr)	//[6, 12, 25, 38, 148]
9.concat()

数组连接
返回连接后的新数组。

let arr = [25,148,12,6,38],
    arr2 = [1,5,8]
let result = arr.concat(arr2);
console.log(result)     //[25, 148, 12, 6, 38, 1, 5, 8]
console.log(arr)	//[25, 148, 12, 6, 38]
10.join()

将数组的每个元素以指定分隔符(默认为“,”)连接成字符
返回该连接完成后的字符串。

let arr = [25,148,12,6,38];
let result = arr.join(),
    result2 = arr.join('+')
console.log(result)     //25,148,12,6,38
console.log(result2)    //25+148+12+6+38
console.log(arr)	//[25, 148, 12, 6, 38]
11.slice(start,end)

从start起始索引处,截取到end结束索引处
返回截取到的元素集合。
注意:如果不传值那么就是直接拷贝了一份数组的值,end可以不传值,表示截取到数组的末尾。start与end也可以取负值,取负值表示从后向前计数。

let arr = [1,2,3,4,5,6,7];
let result = arr.slice(),
    result2 = arr.slice(2),
    result3 = arr.slice(2,4);
console.log(result)     //[1, 2, 3, 4, 5, 6, 7]
console.log(result2)    //[3, 4, 5, 6, 7]
console.log(result3)	//[3, 4]
console.log(arr)	//[1, 2, 3, 4, 5, 6, 7]
12.toString()

数组转换方法
转换为字符串,和不传参数的join()一致,还可以使用2,8,16进制转变为不同结果。

let arr = [1,2,3,4,5,6];
let result = arr.toString();
console.log(result)     //1,2,3,4,5,6
console.log(arr)	//[1,2,3,4,5,6]
13flat()

按照指定的深度递归遍历数组
返回值是遍历到的所有元素集合。
例如:现在有一个这样的数组: [1,2,[3,4,[5,6]]], 我想将它输出为[1,2,3,4,5,6]。如果自己去写递归的话还是比较麻烦的,那么我们可以使用数组本身的flat方法来深度解析。

let arr = [1,2,[3,4,[5,6]]],
    res = arr.flat(Infinity),   //无限递归,直到最后
    res2 = arr.flat();		//如果不传参数那么只递归一次
console.log(arr)         //[1,2,[3,4,[5,6]]]
console.log(res)         //[1, 2, 3, 4, 5, 6]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ob杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值