所以我有一个由ajax返回的JSON对象,我需要先按元值1和0排序,然后按标题排序,将1保留在顶部。所以基本上我需要按custom_fields [' visitor_bureau']然后按标题对所有内容进行排序。我已经尝试了所有我可以做的事情,包括在各处搜索不同的排序功能,以便更好地了解如何编写这个并且似乎无法做到正确。
我使用JSON.stringify()使对象成为字符串。这实际上是一个巨大的JSON对象,但我只需要按2个字段进行排序。 visitor_bureau是布尔值,标题可以是任何字符串。这是一个可怕的描述,但我在这里是脑死亡。
{"title":"Some Place","visitor_bureau":"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)