按bool值和标题对JSON进行排序

时间:2017-02-07 00:57:16

标签: javascript json ajax sorting

所以我有一个由ajax返回的JSON对象,我需要先按元值1和0排序,然后按标题排序,将1保留在顶部。所以基本上我需要按custom_fields [' visitor_bureau']然后按标题对所有内容进行排序。我已经尝试了所有我可以做的事情,包括在各处搜索不同的排序功能,以便更好地了解如何编写这个并且似乎无法做到正确。

我使用JSON.stringify()使对象成为字符串。这实际上是一个巨大的JSON对象,但我只需要按2个字段进行排序。 visitor_bureau是布尔值,标题可以是任何字符串。这是一个可怕的描述,但我在这里是脑死亡。

{"title":"Some Place","visitor_bureau":"1"}

1 个答案:

答案 0 :(得分:4)

这将使用sort()方法:



let array = [{
  "title": "A Some Place",
  "visitor_bureau": "0"
}, {
  "title": "B Some Place",
  "visitor_bureau": "1"
}, {
  "title": "C Some Place",
  "visitor_bureau": "1"
}];

array.sort((a, b) => b.visitor_bureau - a.visitor_bureau || a.title.localeCompare(b.title));

console.log(array)