我有我的網頁上的項目是這樣的:像數據屬性用作關鍵字的對象數組?
<audio data-key="65" src="sounds/clap.wav"></audio>
<audio data-key="83" src="sounds/hihat.wav"></audio>
<audio data-key="68" src="sounds/kick.wav"></audio>
我需要播放音頻項目時函數被調用並傳遞變量的值相同的數據項。
所以當傳遞65,那麼這將工作:
const sounds = document.getElementsByTagName('audio');
const makeSound = function() {
sounds[0].play();
}
但是,這種解決方案顯然是不可擴展的。有沒有一種方法可以讓數組像對象那樣,鍵是音頻項的數據鍵?我所以我想我要一個像這樣的對象:
arrayLikeObj = [
{
65,
<audio data-key="65" src="sounds/clap.wav"></audio>
},
{
83,
<audio data-key="83" src="sounds/hihat.wav"></audio>
},
{
68,
<audio data-key="68" src="sounds/kick.wav"></audio>
}
]
const makeSound = function(soundNo) {
sounds[soundNo].play();
}
爲什麼你不把它作爲一個對象,用'data-key'作爲鍵? – thefourtheye
什麼是'soundNo'? – Bergi