js自定义数组排序规则

arr = ["sp18", "su17", "sp19", "au16", "au18", "wi19"];

      //字符串 'sp18'  表示18年春天

      //按照 年限--季节  重新排序该数组

      //  结果为  ['aut16','su17','sp18','au18','sp19','win19']

思路:先排序年限,再排序季节

总结  : 冒泡排序 + 数组的sort方法--自定义排序规则


arr = ["sp18", "su17", "sp19", "au16", "au18", "wi19"];

      //字符串 'sp18'  表示18年春天

      //按照 年限--季节  重新排序该数组

      //  结果为  ['aut16','su17','sp18','au18','sp19','win19']


      //规则函数

      function abc(a, b) {

        //规则

        var season = ["sp", "su", "au", "wi"];

        return season.indexOf(a.type) - season.indexOf(b.type);

      }

       //如果年限相等

      switer = (a, b) => {

        c = a.substr(0, 2);

        d = b.substr(0, 2);

        x = [c, d];

        if ((c = d)) {

        } else {

          x.sort(abc);

          let [a, b] = [...x];

        }

      };

//冒泡

      for (let i = 0; i < arr.length - 1; i++) {

        for (let i = 0; i < arr.length - 1; i++) {

          console.log(arr[i].substr(2, 2));

          a = arr[i].substr(2, 2);

          b = arr[i + 1].substr(2, 2);

          let x = 0;

          if (a > b) {

            x = arr[i];

            arr[i] = arr[i + 1];

            arr[i + 1] = x;

          } else if ((a = b)) {

            switer(arr[i], arr[i + 1]);

          }

        }

      }

      console.log();


转载请注明来源:缘诺羽  https://www.jianshu.com/p/4086d4f43563

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容