- 创建数组
- var arr=[]
- var arr=new Arrary()
数组方法
- 添加数组
- 添加至末尾:arr.push()
- 添加至开头:arr.unshift()
- 删除数组
- 删除最后一项:arr.pop()
- 删除第一项:arr.shift()
- 替换
- arr[i].xx=xx
- arr.splice(起始位置,结束位置,添加内容)
- 插入
- arr.splice(1,0,xxx)
- 截取
- arr.slice(起始位置,结束位置)
合并
var arr=[1,2,3]
var arrCopy=arr.concat(9,[11,13])
数组连接
- join不改变原数组
var arr=[1,2,3,4,5]
arr.join('-')
------>1-2-3-4-5
- join不改变原数组
反转
- 会改变原数组
var arr = [1, 2, 3]
arr.reverse()
console.log(arr);
- 会改变原数组
删除
- arr.splice(1,1)
- 当用splice删除了当前内容后,后面的内容会补上当前被删除数组的下标
- 查找
- 查找到内容返回下标,没查到则返回-1
var arr = [1, 2, 3]
console.log(arr.indexOf(1));
- 查找到内容返回下标,没查到则返回-1
- 添加数组
高阶方法
map()——遍历数组,不改变原数组
var arr = [1, 2, 3]
arr2 = arr.map(item => {
return item
})
console.log(arr2);
filter()
var arr = [1, 2, 3]
arr2 = arr.filter(item => {
return item > 2
})
console.log(arr2);
-------->3
reduce—-将数组中所有元素进行操作,从左到右合并成一个值,如加、减、乘、除
var arr = [1, 2, 3]
arr2 = arr.reduce((x, y) => {
return x + y
})
console.log(arr2);
------->6
sort数组排序(会改变元数组)
x,y表示两个相邻元素,若返回值>0,数组元素按照升序排序,若返回值<0,数组元素按照降序排序。
let arr = [1, 5, 4, 3, 7, 6]
let arr2 = arr.sort(function (x, y) {
return y - x(降序)
return x - y(升序)
})
console.log(arr2);
//[7, 6, 5, 4, 3, 1]
底层原理:因为sort默认采用uicode码,10的1比4小,所以10排在第二位
let arr = [1, 5, 4, 10, 7, 6]
arr.sort()
console.log(arr);
//[1, 10, 4, 5, 6, 7]
some(判断数组是否满足条件,只要数组中有一个满足则返回true,否则返回false)——-不改变原数组
let arr = [1, 5, 4, 10, 7, 6]
let arr2 = arr.some(item => item > 2)
console.log(arr2);
//true
every(判断数组是否满足条件,如果数组中每一项都满足则返回true,否则返回false)
let arr = [1, 5, 4, 10, 7, 6]
let arr2 = arr.every(item => item > 5)
console.log(arr2);
//false