按特定键值对对象数组进行排序javascript

Sort Array of Objects by specific key value | Javascript

本问题已经有最佳答案,请猛点这里访问。

我很难从我正在做的一个小型个人项目中对特定的对象数组进行排序。我以前从未遇到过使用array.prototype.sort()函数的问题,但我想知道是否有关于多个对象键的某些东西正在影响它…

盯着它看的时间比我承认的要长,现在只需要寻求帮助。:

目标:按字母顺序对对象数组进行排序(相对于每个对象上的特定key.value)。

事先谢谢!

JS小提琴在这里

排序函数示例(不过,我建议您查看完整的上下文)。

1
var sorted = array.sort((a, b) => { return a.key > b.key; });

解决了的

@Ryan帮助我发现返回布尔值是不够的,您需要显式返回一个正数或负数,或者0。

@BRK给我展示了一种很棒的快速方法。

这篇文章有非常详细的描述。在javascript中排序:返回布尔值是否足够用于比较函数?

谢谢大家!对不起,重复的帖子:|


可以使用localecompare方法,该方法将返回一个数字,指示引用字符串是在排序顺序中位于给定字符串之前还是之后,还是与给定字符串相同。

1
2
3
var sorted = array.sort((a, b) => {
  return a.subreddit.localeCompare(b.subreddit)
});

演示