js 冒泡排序

喜夏-厌秋 提交于 2019-12-02 18:58:22

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

  

 

 首先拿到需求后,应该先将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
               }
          }
     }
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!