我正在寻找关于这是否是我想要实现的最佳数据结构的建议,如果是,我将如何创建一个随机选择歌曲的函数。
var song = {
john: [ "Come Together", "Revolution" ],
paul: [ "Hey Jude", "Blackbird" ],
george: [ "Something", "Here Comes the Sun" ],
ringo: [ "Yellow Submarine", "With a Little Help from my Friends" ]
};
这是它的工作原理:
- 计时器在用户点击开始时开始计时
- 屏幕上显示一首歌曲(随机选择)
- 然后用户单击四个图标/名称(john、paul、george 或 ringo)之一
- 答案已记录(正确或不正确)。
- 随机选择另一首歌曲,直到计时器结束。
我不想要这个问题的解决方案,我只想知道我是否正在使用最好的数据结构......如果我是(或者如果我不是!),我会怎么做关于生成随机歌曲。我对此很陌生,我想做的事情比我以前尝试过的任何事情都要复杂。最后一点……当歌曲列表完成时,John 和 Paul 的个人阵列将会非常长……
谢谢!
最佳答案
我建议使用关系结构。
var artists = ['john', 'paul', 'george', 'ringo'];
var songs = [
{ name: "Come Together", artist: 0 },
{ name: "Revolution", artist: 0 },
{ name: "Hey Jude", artist: 1 },
{ name: "Blackbird", artist: 1 },
{ name: "Something", artist: 2 }
];
- 这允许您根据需要向艺术家添加更多属性(例如图片、维基百科链接等)。
- 它允许更快地查找给定歌曲的艺术家。您当前的设置需要大量成本才能找到给定歌曲的艺术家。
- 更容易随机、均匀地挑选一首随机歌曲。您当前的设置很难随机且一致地挑选歌曲。
关于javascript - 从 Javascript 嵌套数组/数据结构中选择随机项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40682672/