您好,欢迎您来到示例网站!

js objec5 排序

1106 人浏览

/**

 * @param obj : object

 * @param isReverse : 是否倒序

 * @param sliceNumber : 截取长度

 * @return object 

 */

function objKeySortAndSlice(obj, isReverse, sliceNumber) {//排序的函数

  if (isReverse == true){

    var newkey = Object.keys(obj).sort().reverse();

    newkey = parseInt(sliceNumber) > 0 ?  newkey.slice(0, sliceNumber) : newkey;

    //先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组

    var newObj = {};//创建一个新的对象,用于存放排好序的键值对

    var j = 0;

    for (var i = newkey.length-1; i >= 0; i--) {//遍历newkey数组

      newObj[newkey[j++]] = obj[newkey[i]];//向新创建的对象中按照排好的顺序依次增加键值对

    }

  }else{

    var newkey = Object.keys(obj).sort();

    newkey = parseInt(sliceNumber) > 0 ? newkey.slice(0, sliceNumber) : newkey;

      //先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组

    var newObj = {};//创建一个新的对象,用于存放排好序的键值对

    for (var i = 0; i < newkey.length; i++) {//遍历newkey数组

      newObj[newkey[i]] = obj[newkey[i]];//向新创建的对象中按照排好的顺序依次增加键值对

    }

  }

  return newObj;//返回排好序的新对象

}

客服电话
17689321832
工作时间
09:00-24:00