ES6 常用的新数组语法及用法, map和filter比较常用

一.every(value --当前索引的值, index --索引 )
依据判断条件,数组的元素是否全满足,若满足则返回ture,有一个不满足就返回false

let arr =[2,3,4,5,6,7]
let arr1 = arr.every( (value)=>value<8) // 返回true
let arr2 = arr.every( (value)=>value<7) // 返回false

二.some(value --当前索引的值, index --索引 )
依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture,全都不满足就返回false

let arr =[2,3,4,5,6,7]
let arr1 = arr.some( (value)=>value>7) // 返回false
let arr2 = arr.some( (value)=>value<7) // 返回true

三.filter(value --当前索引的值, index --索引 )
过滤数组,返回一个满足要求的数组

let arr =[2,3,4,5,6,7]
let newarr = arr.filter( (item)=> item<5)
// 结果 newarr  [2,3,4]
// 把一串小写字符数组改写大写字符数组
const lowerStr = ['a', 'b', 'c']
const upperStr = []
lowerStr.forEach((i) => {
   upperStr.push(i.toUpperCase())
})

四.find
找到第一个符合条件的数组成员

let arr =[2,3,4,5,6,7]
let newarr = arr.find( (item)=>item>3)  // 结果 newarr   [4]

五.findIndex
找到第一个符合条件的数组成员的索引值

let arr =[2,3,4,5,6,7]
let newarr = arr.findIndex( (item)=>item>5)  // 结果 newarr   [4]

六.forEach(value --当前索引的值,index --索引,array --原数组)
遍历数组,无return,对提供执行的函数,总是返回undefined

let arr =[2,3,4,5,6,7]
let newarr = arr.forEach( (item,index,arr)=>{  }

七.includes

判断数中是否包含给定的值

let arr =[2,3,4,5,6,7]
let newarr = arr.includes(2) // 返回true
let newarr = arr.includes(10)  // 返回false

八.map
遍历数组,返回一个新数组

let arr =[2,3,4,5,6,7]
let newarr = arr.map( (item)=>item*2)   // 结果 newarr    [4,6,8,10,12,14]

九.reduce
累加器,数组中的每个值(从左到右)合并,最终计算为一个值,可用作购物车中计算,下面示例

.reduce( (pre,item)=>{
     return  item.price * item.count + pre
 },0)
 // 0是pre的值,通常定为0,必须写

也可用作数组去重

let arr =[2,3,4,5,6,7,7,2]
let newarr = arr.reduce( (pre,item) =>{
  if(!pre.includes(item)){
    return pre.concat(item)    //concat用于连接两个或多个数组
  }else{
    return pre
},[])

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章