簡體   English   中英

JavaScript:如何從多維數組中獲取值?

[英]JavaScript: How to Get the Values from a Multi-Dimensional Array?

我正在嘗試從多維數組中獲取值。 這是我到目前為止。
當我選擇數組中的第一個選項時,我需要 99 的值和圖像,例如“Billy Joel”。

var concertArray = [
    ["Billy Joel", "99", "equal.png"],
    ["Bryan Adams", "89", "higher.png"],
    ["Brian Adams", "25", "lower.png"]
];

function populate(){
    for(i = 0; i < concertArray.length; i++){
        var select = document.getElementById("test");
        select.options[select.options.length] = new Option(concertArray[i][0], concertArray[i][1]);
    }
}

您可以嘗試將多維數組轉換為這樣的對象數組:

var concertArray = [
    {name: "Billy Joel", value: 99, image: "equal.png"},
    {name: "Bryan Adams", value: 89, image: "higher.png"},
    {name: "Brian Adams", value: 25, image: "lower.png"}
];

然后你可以像普通對象一樣訪問數組中的項目:

var concertName = concertArray[0].name;
var concertPrice = parseFloat(concertArray[0].value);
var concertImage = concertArray[0].image;

 let concertArray = [ ["Billy Joel", "99", "equal.png"], ["Bryan Adams", "89", "higher.png"], ["Brian Adams", "25", "lower.png"] ]; let i = 0; console.log(concertArray[i][1]) // 99 console.log(concertArray[i][2]) // equal.png

AFAIK, Option構造函數只接受兩個參數, text 和value 如果你想傳遞更多的數據,我建議你使用 HTML5 數據 API:

var opt = new Option(concertArray[i][0], concertArray[i][1]);
opt.setAttribute('data-image', concertArray[i][2]);
select.options[select.options.length] = opt;

然后你可以使用getAttribute('data-image')抓取它

您可以使用 2 個 for 循環訪問值,如下所示。

var concertArray = [
    ["Billy Joel", "99", "equal.png"],
    ["Bryan Adams", "89", "higher.png"],
    ["Brian Adams", "25", "lower.png"]
    ];

function populate(){
    for(i=0;i<arr.length;i++)
    {
        for(j=0;j<arr[i].length;j++)
        {
             console.log(arr[i][j]);
        }
    }
}

暫無
暫無

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

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