不积跬步,无以至千里;不积小流,无以成江海
一、改变原数组
1.push
- 末尾添加
- return 数组长度
- 参数:添加数
let Arr = [1,2,6,4,3,8,9]
let Res = Arr.push(10)
console.log(Arr); [1,2,6,4,3,8,9,10]
console.log(Res); 8
2.pop
-
末尾删除
-
return 删除的元素
-
无参
let Arr = [1,2,6,4,3,8,9] let Res = Arr.pop() console.log(Arr); [1,2,6,4,3,8] console.log(Res); 9
3.unshift
-
头部添加
-
return 数组长度
-
参数:添加数
let Arr = [1,2,6,9,4,3,8,9] let Res = Arr.unshift(10) console.log(Arr); [10,1,2,6,9,4,3,8,9] console.log(Res); 8
4.shift
-
头部删除
-
return 删除的元素
-
无参
let Arr = [1,2,6,4,3,8,9] let Res = Arr.shift() console.log(Arr); [2,6,4,3,8,9] console.log(Res); 1
5.sort
- 排序
默认升序 - 改变顺序
- return 数组本身
let Arr = [1,2,6,9,4,3,8,9]
升
let Res = Arr.sort((a,b)=>{return a-b})
降
let Res = Arr.sort((a,b)=>{return b-a})
console.log(Arr);
console.log(Res);
6.reverse
- 数组翻转
- return 数组本身
let Arr = [1,2,6,9,4,3,8,9]
let Res = Arr.reverse()
console.log(Arr);
console.log(Res);
7.splice(开始,结束,插入数据)
- 数组裁剪
- return 剪掉的
- 原数组为 剩下的
let Arr = [1,2,6,9,4,3,8,9]
let Res = Arr.splice(0,3)
console.log(Arr); [9,4,3,8,9]
console.log(Res); [1,2,6]
二、不改变原数组
1.concat
- 合并两个数组
- 返回合并后的结果
- 本身不会改变
- 不会扁平化数组
let Arr = [1,2,6,9,4,3,8,9]
let Arr1=[3,4,5]
let Res = Arr.concat(Arr1)
console.log(Arr);
console.log(Res); [1, 2, 6, 9, 4, 3, 8, 9, 3, 4, 5]
2.join(',')
-
用字符将数组转为字符串
let Arr = [1,2,6,9,4,3,8,9] let Res = Arr.join('/') console.log(Arr); console.log(Res); 1/2/3/4/5/6/7/8/9
3.slice(开始,结束)
- 包前不包后 [ a,b )
- return截取出的内容
let Arr = [1,2,6,9,4,3,8,9]
let Res = Arr.slice(0,2)
console.log(Arr);
console.log(Res); [1,2]
4.indexOf(元素,起始位置)
-
查询某个元素
-
没有返回-1
-
返回下标
let Arr = [1,2,6,9,4,3,8,9] let Res = Arr.indexOf(2) console.log(Arr); console.log(Res); 1
5.lastIndexOf(元素,起始位置)
-
逆序查找某个元素
-
没有返回-1
let Arr = [1,2,6,9,4,3,8,9] let Res = Arr.lastIndexOf(9) console.log(Arr); console.log(Res); 7