1、push()
// 在数组的末尾添加元素
var arr = [1,2,3,4]
arr.push(5) // [1,2,3,4,5]
2、pop()
// 删除数组的最后一个元素
var arr = [1,2,3,4]
arr.pop()
console(arr) // [1,2,3]
3、shift()
// 删除数组的第一个元素
var arr = [1,2,3,4]
arr.shift()
console.log(arr) // [2,3,4]
4、unshift()
// 在数组的前面添加元素
var arr = [1,2,3,4]
arr.unshift(5)
consloe.log(arr) // [5,1,2,3,4]
// 可以添加多个 arr.unshift(6,7,8)
5、reverse()
// 反转数组的顺序
var arr = [1,2,3,4,6]
arr.reverse()
console.log(arr) // [6,5,4,3,2,1]
6、sort()
var arr = [1,8,5,3,2,10]
var list = ['b','c','a','z','f']
console.log(arr.sort()) // [1,2,3,5,8,10]
console.log(list.sort()) // ['a','b','c','f','z']
7、concat()
// 数组的合并
var arr = [1,2,3,4]
var list = ['a','b','c']
var newArr = arr.concat(list)
console.log(newArr) // [1,2,3,4,'a','b','c']
consloe.log(arr) // 原数组不变 // [1,2,3,4]
8、slice()
// 通过索引获取新的数组
var arr = ['app','ban','qq','wx','vue']
var list = arr.slice(2) // 将返回一个新的数组,包含从索引2开始到数组末尾的元素
console.log(arr) // 原数组不变 ['app','ban','qq','wx','vue']
console.log(list) ['qq','wx','vue']
// 如果使用负数索引,如arr.slice(-2),则表示从数组末尾开始算起的索引位置。
var list = arr.slice(-2) // ['wx', 'vue']
// 将返回从索引1开始到索引2(不包括索引3)的元素。
var arr02 = arr.slice(1,3)
console.log(arr02) // ['ban','qq']
9、join()
// 将数组变成字符串
var arr = [1,2,3]
console.log(arr.join()) // 1,2,3
console.log(arr.join('-')) 1-2-3
10、splice()
// 根据索引可以实现删除、插入和替换 会改变原数组
// 删除
var arr = [1,2,3,4,5]
var list = arr.splice(0,2)
console.log(arr) // [3,4,5]
console.log(list) // [1,2]
// 插入
var arr = [1,2,3,4]
arr.splice(1,0,9,8) //
console.log(arr) // [1,9,8,2,3,4,5]
// 替换
var arr= [1,2,3,4]
arr.splice(1,1,8)
console.log(arr) // [1,8,3,4]
11、reduce
arr.reduce(function(prev,cur,index,arr) {
}, init)
// arr 原数组
// prev 若有初始值 即为初始值 上一次回调的返回值
// cur 当前正在处理的元素
// index 当前正在处理的元素索引 若有初始值 则索引为0 否则为1
// init 初始值
案例1 求数组之和
var arr = [1,2,3,4,5,6,7]
var num = arr.reduce(function(prev, cur) {
return prev + cur
},0)
初始值为0 所以开始的prev就为0 cur就为 1
相加之后返回1
prev 为1 cur 2
...
求出数组的和
案例2 求数组最大值
var list = [2,55,7,99,1,22]
var max = list.reduce((prev, cur) => {
return Math.max(prev,cur);
})
prev 为 2
cur 为 55
依次比较取出最大值
案例3 数组去重
var newArr = arr.reduce(function(prev,cur) {
prev.indexOf(cur) == -1 && prev.push(cur)
return prev
},[])
12、forEach map filter some every
forEach 对数组进行遍历 没有返回值
arr.forEach(item => {
})
map 对每个每个元素进行处理 返回一个新的数组
var list = arr.map(item => {
return item + 1
})
filter 过滤 符合条件的返回
var list = arr.filter(item => {
return item > 1
})
some 根据一个条件 有一个满足就返回true
every 根据一个条件 如果都满足返回true 否则返回false