ES6 新增方法 (一)

數組方法

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)
    })
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容