js 冒泡排序

  前几天用到了冒泡排序的方法,现在整理了一下代码。我的需求是比较数组数据中的某一个字段中的值,而这个字段是有字母有数字,所以需要先匹配出来数字,然后截取出来数字,然后进行比较。我的数据是数组对象的格式,我需要对airport字段进行排序。

    源码地址:https://github.com/dreamITGirl/VueProgect/tree/master/project-demo/src/components/Sort

  

 

 首先拿到需求后,应该先将airport字段中的数字单独放在一个属性中,然后再根据这个属性进行排序。这个是我的思路。

代码如下:

matchData(data){//将数字的位置找出来,然后重新赋给新的属性
      for (let i = 0; i < data.length; i++) {
          let index = data[i].airport.match(/[0-9]/).index
           data[i].position = Number(data[i].airport.substr(index,))
       }
},
bubbleSort(data){//冒泡排序
     for (let i = 0; i < data.length; i++) {
         for (let j = 0; j < data.length -1 -i; j++) {
              if (data[j].position > data[j+1].position ) {
                    let temp = data[j]
                    data[j] = data[j+1]
                     data[j+1] = temp
               }
          }
     }
}

 

posted @ 2019-10-29 15:00  前端加油站  阅读(195)  评论(0编辑  收藏  举报