Javascript 对jQuery$每个循环结果进行排序
我有一个函数,它获取并过滤一个JSON字符串,以列出有声书籍的每一章Javascript 对jQuery$每个循环结果进行排序,javascript,jquery,sorting,each,Javascript,Jquery,Sorting,Each,我有一个函数,它获取并过滤一个JSON字符串,以列出有声书籍的每一章 function drawChaperList(book) { $(".player-book-chapters").html( " ");//clear chapter list $.each(book.files, function(key, bookChapter){ if(bookChapter.format === "128Kbps MP3"){ conso
function drawChaperList(book) {
$(".player-book-chapters").html( " ");//clear chapter list
$.each(book.files, function(key, bookChapter){
if(bookChapter.format === "128Kbps MP3"){
console.log(key, bookChapter.track);
var eachBookChapter = $("<li class='chapter'></li>").appendTo('.player-book-chapters');
eachBookChapter.data("track", bookChapter.track).append("<a title='"+bookChapter.title+"' class='bookChapter' href='"+bookChapter.name+"'>"+ bookChapter.title +"</a>");
}
});
}
如何按曲目对结果进行排序和显示?我明白。sort对物体不起作用,在用它撞了我的头一段时间后,我希望有人能在正确的方向上提供帮助
谢谢已经尝试过了,它在我的if语句内部不起作用,在外部也不起作用,因为不是所有结果都有.track属性。粘贴您尝试过的代码片段编写一个排序算法(许多在线算法)来查看轨迹并相应地对数据进行排序?不过,正如建议的那样,您必须将数据移动到arrayKeysOrsorted=Object.keys(bookChapter.track).sort(函数(a,b){return bookChapter.track[a]-bookChapter.track[b]})console.log(keysorded);正如预期的那样,它只返回一个值,因为每个章节中只有1.track属性。接受的答案返回错误。我的SC里没有。
Key, Track #
9 "3"
16 "6"
17 "2"
20 "1"
26 "5"
27 "4"