字符串排序

1.普通的字符串數組排序;

   so easy:    sort()方法完美解決;

   let name = ['Jay Chou', 'G.E.M', 'Jackie Chan', 'Eason Chan'];
   name.sort();   // ["Eason Chan", "G.E.M", "Jackie Chan", "Jay Chou"]

2.對數組中對象的某個屬性值是字符串的數組排序;

  so easy     sort()方法依然完美解決

  例如:我們現在根據name對數組people排序;

  let people = [
            {name: 'Jay Chou', birthday: '1979'},
            {name: 'G.E.M', birthday: '1991'},
            {name: 'Jackie Chan', birthday: '1973'},
            {name: 'Jackie Chan', birthday: '1954'},
            {name: 'Eason Chan', birthday: '1974'}
        ]

  開始裝逼:

        people.sort((objA, objB) => {
            if(objA['name'] >= objB['name']) {
                return 1;
            }else {
                return -1
            }
        })

      注:這裏一定要寫return 1 或 return -1;  其他寫法return true, return false或其他寫法均不對;這是個坑啊!!!

        // 輸出結果;若果name一樣,則順序不變;
        // people=[
        //     {name: "Eason Chan", birthday: "1974"}
        //     {name: "G.E.M", birthday: "1991"}
        //     {name: "Jackie Chan", birthday: "1973"}
        //     {name: "Jackie Chan", birthday: "1954"}
        //     {name: "Jay Chou", birthday: "1979"}
        // ]

封裝個方法:

       function sortArrOfObj(arr, attr) {
            arr.sort((objA,objB)=> {
                if(objA[attr] >= objB[attr]) {
                    return 1;
                }else {
                    return -1
                }
            })
            return arr;
        }

       sortArrOfObj(people,'name')

Perfect!!!

發佈了19 篇原創文章 · 獲贊 36 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章