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