天天看点

js的sort排序与计算数组元素重复次数

var arr1 = [{
        'name': 'aa',
        'age': 20
    },
    {
        'name': 'cc',
        'age': 19
    },
    {
        'name': 'dccc',
        'age': 25
    },
    {
        'name': 'ba',
        'age': 21
    },
]

function compare(property) {
    return function (a, b) {
        return a[property] > b[property]  ? 1 : -1
    }
}
//排序建议用数字 
//字符串只匹配第一个排序 toUpperCase() 通常使用这个是大写
// toLowerCase() 小写 只看第一位 排序 后面 不管的
//function (a, b) {
       // return a[property] > b[property]  ? 1 : -1
    //}
console.log(arr1.sort(compare('age')))
0: {name: "cc", age: 19}
1: {name: "aa", age: 20}
2: {name: "ba", age: 21}
3: {name: "dccc", age: 25}

console.log(arr1.sort(compare('name')))
0: {name: "aa", age: 20}
1: {name: "ba", age: 21}
2: {name: "cz", age: 19}
3: {name: "da", age: 25}      
var arrString = 'sdsadasdsa';
sum = arrString.split('').reduce(function(res, cur) { console.log(res,cur);res[cur] ? res[cur] ++ : res[cur] = 1; return res; }, {})      
getDate () { //  年月获取
      let arr = []
      let date = new Date()
      let m = date.getMonth() + 1
      let y = date.getFullYear()
      for(let i = 0; i <= 4; i++){
          if(m===0){
            m = 12
            y--
          }
          arr.unshift(y +'.'+m--)
      }
      return arr
    },      
if (!Number.isNaN(b[data.pagination.sortBy] - 0)) {
                            return b[data.pagination.sortBy] - a[data.pagination.sortBy] > 0 ? 1 : -1;
                        } else {
                            return b[data.pagination.sortBy].slice(0, 1) > a[data.pagination.sortBy].slice(0, 1) ? 1 : -1;
                        }