ES6 新增方法 (一)

李洋丶IP属地: 广东
0.21字数 328

数组方法

forEach

forEach会遍历数组, 循环体内没有返回值, forEach`循环不会改变原来数组的内容, forEach有三个参数, 第一个参数是当前元素, 第二个参数是当前元素的索引, 第三个参数是当前元素所属的数组.

let arry = [1, 2, 3, 4];
arry.forEach((item, index, arr) => {
  console.log(item);  // 1    2    3    4
});

注意:forEach不能跳出循环,如写了判断条件 只能跳出当此循环

forEach没有返回值

filter

filter参数和forEach也是一样的,filter主要是过滤的, 用来过滤数组中不满足条件的元素, 把满足条件的元素返回到新的数组里, 并且不会改变原数组.

let arry = [1, 2, 3, 4, 5];
let temp = arry.filter((item, index, arr) => {
    return item < 3;    // 返回  1  2
});

map

map的主要作用是数据需要处理的时候会用到map比较多一些 map的参数和forEach是一样的

let arry = [1, 2, 3, 4 ,5];
let temp = arry.map((item, index, arr) => {
    return item + 1;   // 返回 [2,3,4,5,6]
});

every

遍历数组, 在循环体内写条件, 如果每一项都是true, 就会返回true, 只要有一个是false, 就会返回false

let arry = [1, 2, 3, 4, 5];
arry.every((item, index, arr) => {
    return item > 2;
});
// 使用变量接收 打印出的是布尔值 true或false

sort

对数组进行排序

1、基本数据类型

let arr = [5,8,4,1,565]
arr.sort()
//基本数据类型就可以直接使用sort方法进行排序

2、引用数据类型

想要将对象数组进行排序的时候就要我们自己创建数组的时候在对象中添加一个我们想要的顺序的属性,使用属性来把对象数组进行排序

// 使用axios方法 获取城市列表数据      
getCityData().then(res => {
      let list = res.data.cityList
      console.log(this.cityList);
      var obj = {}
      var hotCity = []
      var resultArr = []
      //对数组进行处理
      list.forEach(item=>{
        var p =item.pinyin[0].toUpperCase()
          if(obj[p]){
              obj[p].push(item.name)
          }else{
            obj[p] = [item.name]
          }
          if(item.isHot === 1){
            hotCity.push(item)
          }
      })
      for(let key in obj){
        resultArr.push({value:obj[key],key:key})
      }
     // 得到的数组是这样的  [{value:["北京",北平,...], key:B}]
     // one 是类比第一个   two是类比第二个   循环
      resultArr.sort((one,two)=>{
        one = one.key
        two = two.key
        if(one<two){
          return -1  //返回-1的排序是  one ,two
        }else if(one>two){
          return 1  //返回-1的排序是   two ,one
        }else{
          return 0
        }
      })
       this.hotCityList = hotCity
       this.allCityList = resultArr
       console.log(this.allCityList)
    })
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
3人点赞
总资产1共写了2416字获得16个赞共7个粉丝

推荐阅读更多精彩内容