数组的方法总结
1. 数组转换字符串
- toString()
- toLocaleString()
- join()
1const arr = [1,5,6,9,3,2,4,6] 2 3console.log('toString--->'+arr.toString()) // toString--->1,5,6,9,3,2,4,6 4console.log('toLocaleString--->' +arr.toLocaleString()) // toLocaleString--->1,5,6,9,3,2,4,6 5console.log('join--->'+ arr.join(',')) // join--->1,5,6,9,3,2,4,6 6
2.堆栈方法
- push() 在数组最后添加一项 返回值 => 增加数组后的长度
- pop() 删除数组最后一项 返回值 => 删除后的长度
- unshift()在数组最后添加一项 返回值 => 增加数组后的长度
- shift() 删除第一项 返回值 => 删除后的长度
1 2const arr = [1,5,6,9,3,2,4,6] 3 4arr.push(10); 5console.log(arr); 6 7arr.pop(); 8console.log(arr); 9 10arr.unshift(0); 11console.log(arr); 12 13arr.shift(); 14console.log(arr); 15
3.数组排序 reverse sort 随机排序
- reverse 倒序
- sort((a,b) => a - b) 正序 / sort((a,b) => b-a) 倒序
- 随机排序
1// 3. 排序 2 3const arr = [1,2,3,4,5,6] 4// 1. resverse() 5console.log(arr.reverse()); // [ 6, 5, 4, 3, 2, 1 ] 6 7// 2. sort() 8// 正序 9console.log(arr.sort()); // [ 1, 2, 3, 4, 5, 6 ] 10console.log(arr.sort((a, b) => a - b)); // [ 1, 2, 3, 4, 5, 6 ] 11// 倒序 12console.log(arr.sort((a, b) => b - a)); // [ 6, 5, 4, 3, 2, 1 ] 13 14// 随机排序 15function compate() { 16 return Math.random() - 0.5 ; 17} 18 19console.log(arr.sort(compate)); // [ 1, 3, 5, 4, 6, 2 ] / [ 6, 1, 5, 4, 3, 2 ]
4. 数组拼接 concat 返回一个新数组
concat 不能将多维数据进行拼接
1const arr = [1,2,3]; 2 3console.log(arr, arr.concat(3, 4)) // [ 1, 2, 3 ] [ 1, 2, 3, 3, 4 ] 4console.log(arr, arr.concat([3, 4])) // [ 1, 2, 3 ] [ 1, 2, 3, 3, 4 ] 5console.log(arr, arr.concat([3, [4]])) // [ 1, 2, 3 ] [ 1, 2, 3, 3, [ 4 ] ] 6 7// 现在常用 [...arr] 8console.log(arr, [...arr, 3, 4]) // [ 1, 2, 3 ] [ 1, 2, 3, 3, 4 ]
5. 删改方法
- slice() 原数组不会变化,返回一个新数组
- splice() 会修改原数组,将删除的元素变成数组返回
1// 5. 数组的删改 2 3const arr = [1,2,3,4,5] 4 5// slice [ ) 左闭右开; start , end 6console.log(arr.slice(2)) // 2 代表从下标为2的位置截取到末尾 返回一个新数组 [ 3, 4, 5 ] 7console.log(arr.slice(2,4)) // 代表从下标为2的位置截取下标为4的位置但不包括4 [ 3, 4 ] 8 9console.log(arr.slice(-2)) // 倒着数下标为2的位置截取到末尾 [ 4, 5 ] 10console.log(arr.slice(-4,-1)) // 倒着数下标为4的位置截取截取下标为1的位置但不包括1 [ 2, 3, 4 ] 11 12// 将字符串转为数组 13const str = '123456'; 14console.log(Array.prototype.slice.call(str)) // [ '1', '2', '3', '4', '5', '6' ] 15 16// splice() 17// 1. 起始 增加或删除的位置 18// 2. 指定删除元素的个数 19// 3. 添加元素 20 21// console.log(arr.splice(2)) // [ 3, 4, 5 ] 22// console.log(arr.splice(0, 4)) // [ 1, 2, 3, 4 ] 23// console.log(arr, arr.splice(4,0,'a','b')) // [ 1, 2, 3, 4,'a', 'b', 5] [] 24
