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}...
  • 相关阅读:
    java Math类方法使用
    线性逻辑回归与非线性逻辑回归pytorch+sklearn
    Java学习方向
    ubuntu16.04安装Anaconda+Pycharm+Pytorch
    迁移学习resnet
    简单的CNN图像分类datasets.MNIST/FashionMNIST
    pytorch学习2
    tools/build.c
    zBoot/Makefile
    tools/version.c
  • 原文地址:https://www.cnblogs.com/yuanmo/p/13735564.html
Copyright © 2011-2022 走看看