【发布时间】:2018-02-13 04:06:03
【问题描述】:
我似乎在让一组对象正确排序时遇到了一点问题。
例如,假设我有以下内容:
var items = [
{id: '1', itn: '1'},
{id: '2', itn: '10P'},
{id: '3', itn: '2'},
{id: '4', itn: '3'}
];
我需要根据“itn”中的值对这个数组进行排序。但是,当我运行下面的函数时,我将它列为 1、10P、2、3 而不是 1、2、3、10P。
userData.sort(function (a, b) {
return (b.itn > a.itn) ? -1 : (b.itn < a.itn) ? 1 : 0;
});
我有点不知道该如何继续下去,也不确定要搜索什么样的关键字才能获得正确的指导。任何帮助表示赞赏!
提前致谢。
【问题讨论】:
-
如果
<的两个参数都是字符串,它会按字典顺序进行比较;"10P"在"2"之前就像"aardvark"在"b"之前一样。parseInt如果你想进行数字比较。 -
请注意,这是一个对象数组,而不是多维数组。
标签: javascript arrays json sorting