如何更改JSON输出的顺序

时间:2013-07-15 21:36:57

标签: jquery json sorting

我正在构建的应用程序的一部分提取播放列表的JSON提要,我的jQuery each代码是这样的:

$.each(data, function (i, data) {
                        var playlistTracks = '<li><span>' + data.TIT2 + '</span> &mdash; ' + data.TPE1 + '</li>';
                        $('section.player div.playlist-view ul.playlist').append(playlistTracks);
                    });

这将从最旧到最新的歌曲从上到下输出。我想知道的是我如何改变这个输出的顺序来显示最上面的最新歌曲,然后转到最古老的歌曲。任何人都可以帮我解决这个问题吗?

另一方面,我还要删除此播放列表中的 last 项目/歌曲,因为它的数据在音乐播放器中显示为“正在播放”。如何删除此单个项目?

谢谢!

2 个答案:

答案 0 :(得分:1)

应该可以进行反向循环:

for(var i = data.length-1; i >= 0; i--)
{
    var playlistTracks = '<li><span>' + data[i].TIT2 + '</span> &mdash; ' + data[i].TPE1 + '</li>';
    $('section.player div.playlist-view ul.playlist').append(playlistTracks);
}

我不确定您要删除该项目的哪一端,但您可以通过更改

来跳过它
data.length-2

i >= 1

在你的for循环中。

答案 1 :(得分:1)

发现差异:)

$.each(data, function (i, data) {
                        var playlistTracks = '<li><span>' + data.TIT2 + '</span> &mdash; ' + data.TPE1 + '</li>';
                        $('section.player div.playlist-view ul.playlist').prepend(playlistTracks);
                    });

答案:切换附加前置