簡體   English   中英

如何通過 886982359588 參數傳遞數組 - javascript

[英]How to Pass An Array Through a Function Parameter - javascript

 const regKeys = document.querySelectorAll('.regKey'); const regCscale = ['c', 'd', 'e', 'f', 'g', 'a', 'b']; const output = document.querySelector('.output'); function pattern(scale) { scale.forEach((key) => { key.addEventListener('click', () => { if (output.textContent.length >= 1) { output.innerHTML = ''; } for (let i = 0; i < 8; i++) { let select = Math.round(Math.random() * 6); let note = scale[select]; output.innerHTML += note + ', '; } }); }); } pattern(regCscale);
 <.DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="index.css"> </head> <body> <h1 class="title">Melody Help</h1> <div class="reg-scales"> <div class="c-scale regKey">C</div> <div class="c#-scale regKey">C#</div> <div class="d-scale regKey">D</div> <div class="d#-scale regKey">D#</div> <div class="e-scale regKey">E</div> <div class="f-scale regKey">F</div> <div class="f#-scale regKey">F#</div> <div class="g-scale regKey">G</div> <div class="g#-scale regKey">G#</div> <div class="a-scale regKey">A</div> <div class="a#-scale regKey">A#</div> <div class="b-scale regKey">B</div> </div> <div class="output"></div> <script src="index.js"></script> </body> </html>

我試圖找到與我的情況類似的幫助,但我找不到。 我正在制作一個程序,根據音階生成不同的鋼琴音符,但我無法將不同音階的數組傳遞到我的 function 中。

您應該將regKeys傳遞給pattern而不是regCscale ,因為它需要一個 DOM 元素列表,它可以向其中添加事件偵聽器。

您應該 select regCscale 的隨機元素在regCscale中,而不是scale的元素。 有關執行此操作的正確方法,請參閱從 JavaScript 數組獲取隨機值

 const regKeys = document.querySelectorAll('.regKey'); const regCscale = ['c', 'd', 'e', 'f', 'g', 'a', 'b']; const output = document.querySelector('.output'); function pattern(scale) { scale.forEach((key) => { key.addEventListener('click', () => { if (output.textContent.length >= 1) { output.innerHTML = ''; } for (let i = 0; i < 8; i++) { let select = Math.floor(Math.random() * regCscale.length); let note = regCscale[select]; output.innerHTML += note + ', '; } }); }); } pattern(regKeys);
 <.DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="index.css"> </head> <body> <h1 class="title">Melody Help</h1> <div class="reg-scales"> <div class="c-scale regKey">C</div> <div class="c#-scale regKey">C#</div> <div class="d-scale regKey">D</div> <div class="d#-scale regKey">D#</div> <div class="e-scale regKey">E</div> <div class="f-scale regKey">F</div> <div class="f#-scale regKey">F#</div> <div class="g-scale regKey">G</div> <div class="g#-scale regKey">G#</div> <div class="a-scale regKey">A</div> <div class="a#-scale regKey">A#</div> <div class="b-scale regKey">B</div> </div> <div class="output"></div> <script src="index.js"></script> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM