7

多次元配列から値を取得しようとしています。これは私がこれまでに持っているものです。
配列の最初のオプション、たとえば「Billy Joel」を選択するときは、99の値と画像が必要です。

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]);
    }
}
4

4 に答える 4

17

次のように、多次元配列をオブジェクトの配列に変換することができます。

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;
于 2012-05-04T21:50:27.940 に答える
6

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

于 2012-04-22T19:33:12.960 に答える
0

私の知る限り、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')

于 2012-04-22T19:36:08.947 に答える