Javascript如何按字符串的数值对对象数组进行排序

标签 javascript sorting underscore.js collator

下面是我的对象数组的示例,我应该按名称对它们进行排序。 js正常排序如下所示,但是我的目标是按数值排序,例如:“1 ex,2 ex,3 ex,4 ex,11 ex ..”。有人可以帮助我如何实现这一目标吗?

[{id: 588, name: "1 ex"}
{id: 592, name: "11 ex"}
{id: 607, name: "2 ex"}
{id: 580, name: "3 ex"}
{id: 596, name: "4 ex"}]

最佳答案

您必须在比较函数中包含解析函数,如下所示:

var compare = function(a, b) {
  return parseInt(a.name) - parseInt(b.name);
}

console.log(x.sort(compare));

关于Javascript如何按字符串的数值对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50793491/

相关文章:

Javascript:for in 循环遍历属性或索引?

mysql - 在mysql中按名称分组之前按日期和时间排序

string - 基数排序字符串

javascript - 计数事件然后使用throttle/debounce来执行事件

javascript - 为什么 const 与 javascript 中的简单对象不同

javascript - Bootstrap 修复 IE 和 Firefox 的滚动问题

javascript - 前一个元素的宽度 jQuery

java - 使用比较器或合并排序哪个更适合对对象的 arrayList 进行排序?

javascript - 提高排序性能

javascript - 搜索数组中的字符串/值并替换数组中的字符串/值