Javascript:如何处理 json 中的下一个项目 - 播放列表

标签 javascript jquery json

我有一个创建视频播放列表并以 json 格式返回它们的应用程序,视频 ID 是“ key ”,然后附加了视频信息。视频 ID 不是连续的,“1234”、“4234”、“123”、“5454”等都是可能的 ID。

我有一个用于切换下一个视频的按钮,问题是我不知道如何获取数组中的下一个项目,除非我循环遍历整个数组,这看起来效率很低。我正在使用 jQuery,所以如果有可用的函数那就太好了。

我的问题摘要:如何使用 jQuery/javascript 有效地选择数组中的下一项?

最佳答案

如果您可以控制创建 JSON 的部分,我会将其更改为实际返回一个数组。如果没有,我可能会循环遍历您从 JSON 数据创建的对象一次,创建一个数组:

var list, name;
list = [];
for (name in obj) {
    list.push({
        key: name,
        value: obj[name]
    });
}

然后您可以使用数字索引遍历。现在,我保留了名称/ key 。如果你不需要那个,如果你只需要值,数组可以直接保存值。


编辑 啊,很好,JSON 由您控制。然后我会像这样输出 JSON:

{
    videos: [
        "1234",
        "4234",
        "123",
        "5454"
    ]
}

反序列化后,将生成一个具有属性 videos 的对象,它是一个数组。然后,您可以使用数字索引遍历数组,因此“下一个视频”函数将是:

function showNextVideo(videos, index) {
    ++index;
    if (index >= videos.length) {
        index = 0;
    }
    showVideo(videos[index]);
}

您可以在此处阅读有关 JSON 的更多信息:http://json.org

关于Javascript:如何处理 json 中的下一个项目 - 播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3072195/

相关文章:

javascript - 有没有办法阻止 html 页面内的外部 javascript/bookmarklet 执行?

javascript - 如何使用 Greasemonkey 选择没有标识符的 div?

php - 让 jQuery.ajax 将响应解释为错误

json - 尝试为我的数据库交互构建 Express 的 API 路由...得到 404

javascript - 使用 ngTable 检索 json 数据 (Angular)

javascript - 订单/交易/充电方连接

javascript - 从 Ajax 将数组数组传递给 Controller

javascript - Uncaught ReferenceError : doSearch is not defined

ios - CollectionView 中加载的图像上出现的名称不正确

javascript - 如果存在 2 个子 div,隐藏父 div?