在写项目,我们需要把许许多多的数据给渲染到页面中,以供用户提供可视信息,通常这些数据都会以数组的方式存储起来,从而需要我们用到数组中的方法去一一得到你想要的数据,从而得到符合你想要的的数据。
下面是一些常用的es6新增数组方法
1.isArray 判断是否为数组
let arr = [1,2,3]
typeof arr // 得到'object' typeof 可以判断数据的类型 返回的结果是数据类型
Array.isArray(arr)//判断是不是一个数组 返回的结果是一个布尔值 true
2.forEach() 遍历数组
let arr = [1,2,3]
arr.forEach(function(item,index){
console.log(item,index)//数组的循环方法 没有返回值 item为数组中的每一个元素,index为数组中每一个元素的索引
})
3.map() 映射
let arr = [1,2,3]
let res = arr.map(function(item,index){
return item*3
})//这个方法把数组里的每一个元素都乘上3 然后返回一个新的数组[3,6,9]
4.filter() 过滤
let arr = [1,2,3]
let res = arr.filter(functon(item){
return item>2 //这里写的是一个条件 返回的res是一个新的数组[3] 因为只有3这个元素大于2 所以过滤出来
})
5.reduce()
let arr = [1,2,3]
let res = arr.reduce(function(sum,item){
return sum +v //sum为累计的值 把数组的每一个元素相加
},0) //如果第二个参数不填 则默认的sum值为数组中第一个元素的值
6.find() 查找条件
let arr = [{name:'张三',age:18},{name:'李四',age:20}
let res = arr.find(function(item,index){
return item.name ==='张三' //后面跟查找条件 返回一个对象
})
7.some 和 every
let arr = [{name:'张三',age:18},{name:'李四',age:20}
let res1 = arr.some(function(item,index){ return item.age>18 })
//some 方法返回值为true 只要有一个满足条件就返回true 当都不满足的时候返回false
let res2 = arr.every(function(item,index){ return item.age>18 })
//every方法返回值为false 只要有一个不满足条件 就会返回false 当都满足的时候 返回true
注 :上面的方法都不会改变原数组