1.map
map作用与场景 : 映射数组(将数组每一个元素处理之后,得到一个新数组) 举例子: 商品打8折 (数组中每一个元素都要 乘以 0.8) 经典场景 : 数据驱动渲染dom树(将数组直接渲染到页面)
```let arr = [20,66,80,90,100]
let res = arr.map( item=>item*0.8 )
console.log( res )
```
2.filter
filter作用与场景 : 筛选数组 经典场景 : 筛选,根据条件筛选数组,将符合条件的元素放入新数组中 `
let arr = [20, 61, 80, 95, 100]
let res = arr.filter(item=>item % 2 == 0)
console.log( res )
3.forEach
forEach作用与场景 : 遍历数组 类似于for循环遍历数组
let arr = [20, 61, 80, 95, 100]
arr.forEach( (item,index) => {
console.log(item,index)
})
4.some
some作用与场景 : 判断数组中是否有满足条件的元素 ( 逻辑或|| ) 经典场景 : 非空判断。 多个表单只要有一个是空的,就不能提交
let arr = [20, 61, 80, 95, 100]
let res = arr.some((item, index) => {
if( item < 0 ){
return true
}
})
console.log( res )
5.every
every作用与场景 : 判断数组是否所有的元素都满足条件 ( 逻辑与&& ) 经典场景 : 开关思想. 购物车全选
let arr = [20, 61, -80, 95, 100]
let res = arr.every(item=>item>0)
console.log( res )
6.findindex
findIndex作用与场景 : 找元素下标 数组中的元素是值类型: arr.indexOf() 数组中的元素是引用类型: arr.findIndex()
let arr = [
{name:'张三',age:20},
{name:'李四',age:25},
{name:'王五',age:30},
]
let res = arr.findIndex(item=>item.name=='李四')
console.log(res)//-1
7.reduce
数组reduce方法作用: 为每一个元素执行一次回调,并最终返回最后一次结果 经典应用: 求数组累加和
/*
第一个参数:回调 (sum,value,index)=>{}
sum : 累加和变量
value:当前元素
index: 当前下标
return : 下一次回调sum的值
第二个参数: sum初始值
* 如果不传,sum默认是第一个元素值
* 一般要传0, 如果不传空数组的话reduce直接报错
*/
let res = arr.reduce( (sum,value)=>sum+value , 0 )
console.log( res )