1、arr.push()
push()方法可以在数组末尾添加一个或多个新元素,并返回数组新长度。
示例:
const arr = [10,20,30]
const len = arr.push(40,50)
console.log(arr) // [10,20,30,40,50]
console.log(len) // 5
2、arr.splice()
splice(start,deleteCount,ele)方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
参数1:start 代表修改的起始位置(下标) 可以为负值
参数2:deleteCount 代表删除元素的个数,如果大于start之后的元素的总数,则从start后面的元素都被删除,如果是0或负数,则不移除元素
参数3:ele 可选 要添加进数组的元素,如果不指定,splice()方法只删除元素 示例:
const arr = [10,20,30]
const a = arr.splice(1,1)
console.log(arr) // [10,30]
console.log(a) // [20]
const arr1 = [2,4,6,8]
arr1.splice(0,1,3)
console.log(arr1) // [3,4,6,8]
3、arr.join()
join()方法可以将数组的所有元素拼接成一个字符串并返回这个字符串
参数可选 如果不传,默认数组被逗号拼接,若传空字符串'',则代表元素之间没有任何字符
示例:
const arr = ['a','b','c']
const str = arr.join()
console.log(str)// "a,b,c"
const arr1 = ['a','b','c']
const str1 = arr1.join('')
console.log(str1)// "abc"
4、arr.forEach()
forEach()方法可以遍历数组 该方法没有返回值
示例:
const arr = [10,20,30,40]
arr.forEach(ele=>{
console.log(ele) // 10,20,30,40
})
5、arr.map()
map()可以遍历并在回调函数里面操作数组,返回值是一个由回调函数映射过后的新数组 示例:
const arr1 = [1,2,3,4]
const arr2 = arr1.map((ele) => ele + 1)
console.log(arr2) // [2,3,4,5]
6、arr.filter()
filter()方法可以过滤数组并返回一个过滤后的新数组
示例:
//删除数组中为0的元素
let arr = [0,1,0,2,3,0,4]
// 把不为0的元素过滤出来
arr = arr.filter(ele=>{
// 返回值为true时 把改元素放进新数组
return ele
})
console.log(arr) // [1,2,3,4]
7、arr.some()
some()方法可以遍历数组,其回调函数的执行次数与数组的长度不相等,当回调函数的返回值为true时方法的返回值为true,然后停止执行回调函数,当所有条件都为false时,方法的返回值为false,会把数组遍历完。应用场景:小选影响全选
// 用法示例
const arr = [1,2,3]
const bol = arr.some(ele=>{
console.log(ele)
return ele === 2
})
console.log(bol)
// 执行结果: 1,2,false
8、arr.every()
every()遍历数组,其回调函数的执行次数与数组的长度不相等,当回调函数的返回值为false时方法的返回值为false,然后停止执行回调函数,当所有条件都为true时,方法的返回值为true,会把数组遍历完。应用场景:全选影响小选
// 用法示例
const arr = [1,2,3]
const bol = arr.every(ele=>{
console.log(ele)
return ele === 2
})
console.log(bol)
// 1 , 2 , fasle
9. arr.raduce()
raduce()对数组中每个元素执行一个回调,会将之前的元素的计算结果作为参数传入,最终返回左右一次结果。
应用场景:求数组累加和
- 第一个参数:回调 (sum,value,index)=>{}
- sum : 累加和变量
- value:当前元素
- index: 当前下标
- return : 下一次回调sum的值
- 第二个参数: sum初始值
- 如果不传,sum默认是第一个元素值
- 一般要传0, 如果不传空数组的话reduce直接报错
const arr = [2,3,4]
const sum = arr.raduce((sum,ele,index)=>{
console.log(index)
return sum+ele
},0)
console.log(sum)
// 0, 1, 2, 9
10、arr.concat()
concat()方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
const arr1 = [1,2,3]
const arr2 = [1,2,2]
consr arr3 = arr1.concat(arr2)
console.log(arr3) // [1,2,3,1,2,2]
11、arr.pop()
pop() 方法从数组中删除最后一个元素,并返回该元素的值。此方法会更改数组的长度。
const arr = [1,2,3]
const num = arr.pop()
console.log(arr) // [1,2]
console.log(num) // 3
12、arr.findIndex()
findIndex()方法用于找满足条件元素在数组中的下标,找到了返回值是该下标,遍历完数组之后找不到返回值为-1
const arr = [1,2,3]
const index = arr.findIndex(ele=>{
return ele === 0
})
const i = arr.findIndex(ele=>{
return ele === 1
})
console.log(index,i) // -1,0
13、arr.includes()
includes()方法可以判断一个元素是否在这个数组中 返回值是Boolean
const arr = [4,5,6]
console.log(arr.includes(1)) // false
console.log(arr.includes(4)) // true
14、arr.flat()
flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。 常用于数组降维
const arr = [1,2,3,[[1,2,3]]]
console.log(arr.flat()) // 不传值 默认遍历一层 [1,2,3,[1,2,3]]
console.log(arr.flat(2)) // 不传值 默认遍历一层 [1,2,3,1,2,3]
15、arr.find()
find()方法与findIndex()类似,不同点是find返回值是元素本身,如果不满足条件返回值是undefined
const arr = [1,2,3]
const num = arr.find(ele=>{
return ele === 2
})
const num1 = arr.find(ele=>{
return ele === 0
})
console.log(num,num1) // 2, undefind