所以我有一个由 ajax 返回的 JSON 对象,我需要首先按元值 1 和 0 排序,然后按标题排序,将 1 保留在顶部。所以本质上我需要按 custom_fields['visitor_bureau'] 然后按标题对所有内容进行排序。我已经尝试了几乎所有我能做的事情,包括在各处搜索不同的排序函数,以更好地了解如何编写此代码,但似乎无法正确执行。
我使用 JSON.stringify() 使对象成为字符串。这实际上是一个巨大的 JSON 对象,但我只需要 2 个字段来排序。 Visitor_bureau 是 bool 值,标题实际上可以是任何字符串。这是一个可怕的描述,但我在这里已经脑死亡了。
{"title":"Some Place","visitor_bureau":"1"}
最佳答案
使用 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)
关于javascript - 按 bool 值和标题对 JSON 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42079931/