es6数组方法总结

1.数组创建 Array.of()

将参数中所有值作为元素形成数组。

console.log(Array.of(1, 2, 3, 4)); // [1, 2, 3, 4]
 
// 参数值可为不同类型
console.log(Array.of(1, '2', true)); // [1, '2', true]
 
// 参数为空时返回空数组
console.log(Array.of()); // []

let arr=Array.of(1,2,3)
console.log(arr) //[1,2,3]

2.every()(返回boolen值)  用于检测数组所有元素是否都符合指定条件,只要有一个不符合,就返回false

  • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
  • 如果所有元素都满足条件,则返回 true。
  • 不会改变原数组。
  • 不会对空数组进行检测。

声明一个数组

citys = [
  {
    id:0,
    province:'河南',
    city:'郑州'
  },{
    id:1,
    province:'河南',
    city:'商丘'
  },{
    id:2,
    province:'河南',
    city:'焦作'
  },{
    id:3,
    province:'河北',
    city:'秦皇岛'
  },{
    id:4,
    province:'河北',
    city:'邯郸'
  },{
    id:5,
    province:'安徽',
    city:'合肥'
  },
]

dome:检测数组中对象的省份是否都为‘安徽’

var arr=citys.every(res=>{
    return res.province=='安徽'
})
console.log(arr) //false

3.some()(返回boolen值) 用于检测数组中的元素是否满足指定条件,只要有一个符合,就返回true

  • 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
  • 如果没有满足条件的元素,则返回false。
  • 不会改变原数组。
  • 不会对空数组进行检测。

dome:检验数组对象中是否有郑州,有郑州,返回true

var arr=citys.some(res=>{
    return res.city=='郑州'
})
console.log(arr) //true

4.find() 查找(返回值为第一个符合条件的元素)

查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素。

  • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
  • 如果没有符合条件的元素返回 undefined

dome:查找省份为‘河南’的城市,找到后不再往后继续遍历,直接返回符合条件的元素

var arr=citys.find(res=>{
    return res.province=='河南'
})
console.log(arr) //{
                 //   city: "郑州",
                 //   id: 0,
                 //   province: "河南"
                 //  }

5.filter() 返回一个新数组,筛选符合条件的元素,并将元素返回

方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

var arr= citys.filter(res=>{
    return res.province=='河南'
})
console.log(arr) 
//[
//    {
//        id: 0, 
//        province: "河南", 
//        city: "郑州"
//    },
//    {
//        id: 1,
//        province: "河南", 
//        city: "商丘"
//    },
//    {
//        id: 2, 
//        province: "河南", 
//        city: "焦作"
//    }
//]

 

6.map() 返回一个新数组,可以对符合条件的数组进行处理并返回

  • map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
  • map() 方法按照原始数组元素顺序依次处理元素。

map和filter都可以根据条件进行筛选,但是map可以对返回的元素进行处理

dome:找到省份为“河南”的元素,并返回符合条件的元素的城市名

var arr=citys.map(item=>{
    if(item.province=='河南'){
       return item.city
    }
})
console.log(arr) //['郑州','商丘','焦作']

7.reduce() 将数组元素计算为一个值(从左到右),常用于累加,累乘

参数 描述
function(total,currentValue, index,arr)  
参数 描述
total 必需。初始值, 或者计算结束后的返回值。
currentValue 必需。当前元素
currentIndex 可选。当前元素的索引
arr 可选。当前元素所属的数组对象。

dome:累加

var numArr=[1,2,3,4];
numArr.reduce(function(prev,current){
    return prev+current;
})
console.log(numArr) //10

 

 

你可能感兴趣的:(es6)