【发布时间】:2020-10-30 06:52:30
【问题描述】:
我正在尝试以编程方式在 JS 中创建 4 个不同的音频对象。我在这个帖子中看到过类似的帖子:"How do I create dynamic variable names inside a loop?"
但是,变量名的更改利用了循环阶段。在线程内部也有使用 this 关键字的答案,但我不确定如何在循环中以编程方式使用它。
尝试:
var buttonColours = ["red", "blue", "green", "yellow"]
var sounds = [];
for (var i=0; i < buttonColours.length; i++) {
sounds[i] = new Audio(`sounds/${buttonColours[i]}.mp3`); // Eg. name of audio file - 'blue.mp3'
}
console.log(sounds);
电流输出:
[audio, audio, audio, audio]
期望的输出(每个存储不同的音频对象,因为它们播放不同的声音):
[redSound, blueSound, greenSound, yellowSound]
【问题讨论】:
-
为什么不简单地使用可以命名键的对象?
-
日志只是说它们是
audio对象。我不确定所述对象的结构,但如果您查找它的路径属性,我敢打赌它是sounds/red.mp3等。
标签: javascript arrays for-loop object audio