js中数组的一些方法(find、filter、some、every、map)总结
1. find
find
方法,返回值类型为Array
,顾名思义就是在数组中找元素,find方法将返回数组中第一个满足筛选条件的元素,如果没有找到则返回undefined
。
例子:
const array = [1, 3, 5, 7, 9]
const res1 = array.find(item =>item > 6)
const res2 = array.find(item =>item > 10)
console.log(res1) //结果: 7
console.log(res2) //结果: undefined
2. filter
filter
方法,返回值类型为Array
,找到所有满足筛选条件的元素并返回一个新数组,如果没有找到则返回空数组 []
例子:
const array = [1, 3, 5, 7, 9]
const res1 = array.filter(item =>item > 6)
const res2 = array.filter(item =>item > 10)
console.log(res1) // 结果: [7]
console.log(res2) // 结果: []
3. some
some
方法,返回值类型为boolean
,数组中只要有一个元素满足条件就返回true
,所有元素都不满足则返回false
例子:
const array = [1, 3, 5, 7, 9]
const res1 = array.some(item =>item === 1)
const res2 = array.some(item =>item === 2)
console.log(res1) // 结果:true
console.log(res2) // 结果:false
4. every
every
方法,返回值类型为boolean
,数组中所有元素都满足条件就返回true
,只要有一个元素不满足则返回false
例子:
const array = [1, 3, 5, 7, 9]
const res1 = array.every(item =>item > 0)
const res2 = array.every(item =>item > 2)
console.log(res1) // 结果:true
console.log(res2) // 结果:false
5.map
map
方法,返回值类型为Array
,将数组中每一个元素处理后返回一个新的数组
例子:
const array = [1, 3, 5, 7, 9]
const res = array.map(item => {
return item + 1
})
// 返回一个新的数组,每个数组元素都加1,返回值为[2, 4, 6, 8, 10]
console.log(res)
6.其他用法
1. 通过id数组找到对象数组中所对应的元素
应用场景:通过一个id的数组找到该id数组中所对应的对象元素,找到所对应的对象数组可以用来获取一些其他的数据
const arr=[3,6]
const objArr = [
{
id: 1,
value: 'a'
},
{
id: 3,
value: 'b'
},
{
id: 5,
value: 'c'
},
{
id: 6,
value: 'd'
}
]
const newArr=arr.map(item =>objArr.find(i => i.id === item)).map(a=>a.value)
console.log(newArr)//结果:['b','d']
2. 删除数组中的某个元素
let arr=[1,3,4]
arr=arr.filter(i=>i!==3)
console.log(arr)//结果:[1,4]
。。。其他的暂时没想到,以后遇到补充