我有一个创建视频播放列表并以 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/