# 多維陣列 ###### tags: `JavaScript` 過去的筆記也有提到一部份 [2022鐵人賽 | 陣列array](https://hackmd.io/@yiting444/rko3wB3co/https%3A%2F%2Fhackmd.io%2F%40yiting444%2FSkArhShco) ```javascript= const grades = [ [80, 90, 100, 95], [75, 95, 85, 100], [60, 80, 77, 90] ] ``` 當要取其中的值時會使用`grades[0][1]` ## 範例一 以一個playlist的陣列其中有多個歌曲、歌手以及歌曲長度的陣列 示範實際應用 ```javascript= const playlist = [ ['再遇見','蘇打綠','4:38'], ['長夜','芒果醬','2:53'], ['浪費一整天','宇宙人','3:45'], ['直到我遇見了你','李友廷','4:26'], ] ``` 使用for loop將item遍歷出來 ```javascript= function createListItems( arr ) { let str = ""; for ( let i = 0; i < arr. length; i++ ) { // 遍歷每個陣列的[0]曲名[1]歌手[2]時間 放入li中轉為字串印在頁面上 str += ' <li>${ arr[i][0] }, by ${ arr[i][1] } - ${ arr[i][2] }</li>'; return items ; ``` ## 範例二 ```javascript= //1. 創建一個多維數組來保存測驗問題和答案 const questions =[ [ ' 我有幾隻小狗?' , '8'], [ ' 我有幾棟房子?' , '7'], [ ' 我有幾隻腳?' , '6'], [ '我幾年出生的?' , '1999' ] ] // 2. 存儲正確回答的問題數 correctAnswers = 0; // 3.for loop for ( let i = 0; i < questions. length; i++ ) { let question = questions[i] [0] ; //每個陣列的第0項為問題 let answer = questions[i] [1] ; //每個陣列的第1項為答案 let response = prompt (question) ; //回答內容為prompt的內容 if ( +response === answer ) { //使用+將string快速轉為number correctAnswers+=1; } // 4. 將correctAnswers印在頁面上 let html = `<h1>You got ${correctAnswers} question(s) correct</hl>` document.querySelector ( 'main' ).innerHTML = html; ``` ## 補充 由於prompt法的返回值為字串。 如果問題答案是數值,則需要將變數的值轉換為==數字== 一元加號運算元 提供了一種將字串轉換為數位的快速方法。 在變數之前放置一個加號:+response ```javascript= let a = "333" ; console. log(a) // "333" console. log(+a) // 333 console. log(!a) //false ```