1.数组添加数据
//1.尾插 push
let arr = [1, 2, 3, 4]
arr.push(5)
//2.头插
arr.unshift(5)
//3. 使用...展开添加
arr = [...arr, 5]
2.数组删除数据
1. 尾删pop方法,返回值是删除元素
let arr = [1, 2, 3, 4]
let a = arr.pop()
2. 头删shift方法,返回值是删除元素
let arr = [1, 2, 3, 4]
let a = arr.shift()
3. slice相当于数组切片,不改变原数组,返回切片的数组
let arr = [1, 2, 3, 4]
let a = arr.slice(0, 2)
console.log(arr, a) //(4) [1, 2, 3, 4] (2) [1, 2]
4. splice删除指定元素。第一个参数是开始删除位置, 第二个参数删除元素个数。和indexOf连用可以指定删除的元素
arr.splice(arr.indexOf(3), 1) //删除3
5. filter删除元素
let newarr = arr.filter(ele => ele!==3) //删除3
3. includes和indexof函数。主要使用于查询指定元素是不是在数组中,includes不在返回false,indexOf查询失败返回-1。
1.indexOf
let arr = [1, 2, 3, 4]
let a = arr.indexOf(2)
2.includes
let arr = [1, 2, 3, 4]
let a1 = arr.includes(1)
4. some和every 函数。
1. some函数,回调函数添加条件,如果数组有一个元素符合条件返回真,一个都不行返回false
let arr = [1, 2, 3, 4]
let a = arr.some(ele => ele>1)
//完整写法
let a1 = arr.some(function(e){
return e>1
})
2. every函数,回调函数添加条件,数组每个元素都符合条件返回真。
let arr = [1, 2, 3, 4]
let a1 = arr.every(ele => ele>1)
5. filter, map, foreach函数
1. 映射函数map,只做映射不影响原来的数组。把映射的逻辑写在回调函数里。
let arr = [1, 2, 3, 4]
let newarr = arr.map( ele => ele*2)
console.log(arr, newarr) //[1, 2, 3, 4] (4) [2, 4, 6, 8]
//完整写法, map的回调函数接收三个参数,(ele,index,arr)分别是数组的每个元素,数组元素下标,调用map函数的数组。
let newarr = arr.map( function(ele, index, arr){
console.log(ele, index, arr);
return ele*2
})
2. 过滤函数filter,只过滤符合条件的数组,不改变原来数组。过滤条件写在回调函数
let newarr = arr.filter(ele => ele>2)
console.log(arr, newarr) //[1, 2, 3, 4] (2) [3, 4]
//完整写法和map一样,可以用来删除某个元素或是一批元素
let newarr = arr.filter(ele => ele!==2) //删除
3. 遍历函数foreach。和for循环类似
arr.forEach(function(ele, index, arr){
console.log(ele, index, arr)
//这里可以写自己的循环处理逻辑
})