按特定键值排序对象数组|JavaScript



我在为我正在处理的小型个人项目中排序一系列对象时遇到了麻烦。我以前从未使用array.prototype.sort((函数遇到过麻烦,但是我想知道有关多个对象键是否会影响它...

盯着它比我想承认的更长的时间,现在只需要寻求帮助即可。:|

目标:按字母顺序排列的对象相对于每个特定键。

预先感谢!

JS小提琴

排序函数示例 - (我建议在上下文中查看完整的小提琴(。

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

已解决

@ryan帮助我发现返回的布尔值还不够,您需要明确返回正数或负数,或0。

@brk向我展示了一种很棒的快速方法。

这篇文章的描述非常详细。在JavaScript中排序:不应该返回布尔值以进行比较功能吗?

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

您可以使用 localecompare 方法,该方法将返回一个数字,指示参考字符串是在排序顺序之前还是之后或与给定的字符串相同的数字。<<<<<<<<<<<<<<<</p>

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

demo

最新更新