数组常用操作方法01
1.some()
// some() 数组中是否包含该元素 返回值类型---布尔值
const arr1 = [1,2,3,4,5]
const flag = arr1.some(item => item === 3)
console.log(flag); // true
const flag1 = arr1.some(item => item === 13)
console.log(flag1); // false
2.every()
// every() 数组中只要有一项不满足条件的就返回false 返回值类型---布尔值
const arr1 = [1,2,3,4,5]
const arr2 = [3,3,3,3]
const flag = arr1.every(item => item === 3)
console.log(flag); // false
const flag1 = arr2.every(item => item === 3)
console.log(flag1); // true
3.map()
// map() 不能过滤元素,原始数组多长,返回新数组就有多长 返回值类型---数组
const arr1 = [1,2,3,4,5]
const arr2 = [
{id:1,name:'rose'},
{id:2,name:'jack'},
{id:3,name:'tom'},
{id:4,name:'tim'},
]
const newArr1 = arr1.map(item => {
return 123
})
console.log(newArr1) //[123,123,123,123,123]
const newArr2 = arr1.map(item => {
return item
})
console.log(newArr2) //[1,2,3,4,5]
const newArr3 = arr2.map(item => {
return item.id
})
console.log(newArr3) //[1,2,3,4]
const newArr4 = arr2.map(item => {
return {
id: item.id,
age: 18 + item.id
}
})
console.log(newArr4)
/**
* [
* {id:1,age:19},
* {id:2,age:20},
* {id:3,age:21},
* {id:4,age:22},
* ]
* */
const newArr5 = arr2.map(item => {
if (item.id === 3 ){
return item
}
})
console.log(newArr5,5) // [undefined, undefined, {id:3,name:'tom'}, undefined]
4.find()
// find() 返回满足条件的数组那一项
const arr2 = [
{id:1,name:'rose'},
{id:2,name:'jack'},
{id:3,name:'tom'},
{id:4,name:'tim'},
]
const obj = arr2.find(item => item.id === 3)
console.log(obj);// {id: 3, name: 'tom'}
5.findIndex()
// findIndex() 返回满足条件的数组那一项的索引值
const arr2 = [
{id:1,name:'rose'},
{id:2,name:'jack'},
{id:3,name:'tom'},
{id:4,name:'tim'},
]
const obj = arr2.findIndex(item => item.id === 3)
console.log(obj);// 2
6.filter()
// filter() 过滤 返回满足条件的这一项存在一个新数组中
const arr2 = [
{id:1,name:'rose'},
{id:2,name:'jack'},
{id:3,name:'tom'},
{id:4,name:'tim'},
]
const newArr = arr2.filter(item => item.id === 3)
console.log(newArr)// [{id:3,name:'tom'}]
7.reduce()
// reduce() 返回的是满足条件的元素之和
const arr = [
{id:1,name:'rose'},
{id:2,name:'jack'},
{id:3,name:'tom'},
{id:4,name:'tim'},
]
const total = arr.reduce((sum,item) => {
return sum + item.id
},0)
console.log(total) // 10