zoukankan      html  css  js  c++  java
  • Sort()排序,对象的排序

    如果我现在需要对JavaScript对象进行排序:

    var list = {
      "you": 100, 
      "me": 75, 
      "foo": 116, 
      "bar": 15
    };

    想要得到的结果时:

    1 list = {
    2   "bar": 15, 
    3   "me": 75, 
    4   "you": 100, 
    5   "foo": 116
    6 };

     第一种是根据obj的values进行排序,返回对象的keys:

      var obj={
        "a":4,
        "b":6,
        "v":9,
        "e":10
      }
      function SortObj(obj){
      return Object.keys(obj).sort((a,b)=>obj[a]-obj[b])
      }
      console.log(SortObj(obj))//["a", "b", "v", "e"]

     第二种,JavaScript有sort()函数,需要现在以某种方式获取键的数组并对他们进行排序,使用js的sort()和reduce()函数

     var obj={
        "a":4,
        "b":6,
        "v":9,
        "e":10
      }
      // function SortObj(obj){
      // return Object.keys(obj).sort((a,b)=>obj[a]-obj[b])
      // }
      function SortObj (obj){
        return Object.keys(obj).sort().reduce(function(a,v){
          a[v]=obj[v];
          return a;
        },{})
      }
      console.log(SortObj(obj))//{a: 4, b: 6, e: 10, v: 9}

    第三种,

     var items = [
      { name: 'Edward', value: 21 },
      { name: 'Sharpe', value: 37 },
      { name: 'And', value: 45 },
      { name: 'The', value: -12 },
      { name: 'Magnetic' },
      { name: 'Zeros', value: 37 }
    ];
    console.log(items.sort(function(a,b){
    return a.value-b.value//(6) [{…}, {…}, {…}, {…}, {…}, {…}]0: {name: "The", value: -12}1: {name: "Edward", value: 21}2: {name: "Sharpe", value: 37}...
  • 相关阅读:
    vue loading 插件编写与实战
    vue tab切换的几种方式
    IOS安卓常见问题
    vue.js 跨域的解决方法(转载)
    vue 根据设计稿rem适配
    vuex 文件夹目录整理
    vue项目优化之路由懒加载
    flutter 环境配置-01
    锚点 定位 导航 滑动
    居中 子元素无固定 宽高
  • 原文地址:https://www.cnblogs.com/yuanmo/p/13735564.html
Copyright © 2011-2022 走看看