私はこのような私のページの項目があります:私は、関数が呼び出されると、渡された変数は、データ・キーと同じ値であるときに、オーディオ項目を再生する必要がデータ属性をキーにしたオブジェクトのような配列ですか?
<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();
}
キーを「データキー」としてオブジェクトにしてみませんか? – thefourtheye
'soundNo'とは何ですか? – Bergi