【发布时间】:2021-04-18 12:30:30
【问题描述】:
我已经试过了
test.sort(function (a, b) {
var textA = a[0].Val1;
var textB = b[0].Val1;
if (textA > textB)
return -1;
if (textA < textB)
return 1;
return 0;
});
但我想看到这样的排序数组
{name: 'John', Val1: 4, hireDate: "July 1, 2010"},
{name: 'XXX', Val1: 4, hireDate: "August 15, 2009"},
{name: 'YYY', Val1: 2, hireDate: "August 15, 2009"},
{name: 'ZZZ', Val1: 2, hireDate: "August 15, 2009"},
{name: 'ZZZ', Val1: 16, hireDate: "August 15, 2009"},
{name: 'ZZZ', Val1: 16, hireDate: "August 15, 2009"},
{name: 'Ana', Val1: 1, hireDate: "December 12, 2011"}
【问题讨论】:
-
这样的顺序背后是否有任何特定的逻辑,或者它应该只是硬编码?
-
我想,应该是
a.Val1而不是a[0].Val1,a是数组的一个元素。b也是如此。 -
test.sort((a, b) => a.toString().localeCompare(b))
标签: javascript arrays sorting object key-value