【问题标题】:How do I sort this array of objects in javascript? [duplicate]如何在javascript中对这个对象数组进行排序? [复制]
【发布时间】:2011-09-18 22:30:01
【问题描述】:

可能重复:
Sort array of objects

[ { name: 'jane', id:'3' }
  { name: 'zac', id: '5' }
  { name: 'amber', id: '2 }
]

如何按名称的字母顺序升序排序?

结果应该是:

[ { name: 'amber', id: '2' }
  { name: 'jane', id:'3' }
  { name: 'zac', id: '5' }
]

【问题讨论】:

    标签: javascript arrays dictionary


    【解决方案1】:

    使用Array.sort。您可以将自定义函数传递给它以用于比较对象。要比较字符串,可以使用String.localeCompare。把它放在一起,你就得到了:

    var data=[
        { name: 'jane',  id: 3 }
        { name: 'zac',   id: 5 }
        { name: 'amber', id: 2 }
    ];
    console.log("Unsorted:", data);
    data.sort(function(a, b) {
        return a.name.localeCompare(b.name);
    });
    console.log("Sorted:", data);
    

    【讨论】:

      【解决方案2】:
      [{ name: 'jane',  id:'3' },
       { name: 'zac',   id: '5'},
       { name: 'amber', id: '2'}].sort(
          function (a,b) {
              return a.name.localeCompare(b.name)
          }
      );
      

      【讨论】:

      • 我不知道localeCompare。整洁。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 2020-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多