7
votes

JavaScript: Comment obtenir les valeurs d'un tableau multidimensionnel?

J'essaie d'obtenir les valeurs d'un tableau multidimensionnel. C'est ce que j'ai jusqu'à présent.
J'ai besoin de la valeur de 99 et de l'image lorsque je sélectionne la première option dans le tableau, par exemple. "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]);
    }
}


0 commentaires

4 Réponses :


6
votes

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


1 commentaires

Merci beaucoup ... Concertprice = Paysfloat (Concertlist.Options [Concertindex] .Value); concertimage = ???



0
votes

afaik, le constructeur code> code> ne prend que deux arguments, le texte et la valeur code>. Si vous souhaitez passer plus de données, je vous suggère d'utiliser l'API HTML5 Data API:

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


0 commentaires

17
votes

Vous pouvez essayer de transformer la matrice multidimensionnelle en une gamme d'objets tels que ceci: xxx

puis vous pouvez accéder aux éléments de la matrice comme des objets réguliers: < Pré> xxx


1 commentaires

Comment itérer ce genre de tableau?



0
votes

Vous pouvez accéder à des valeurs en utilisant 2 pour les boucles ci-dessous.

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


1 commentaires

Cette réponse est terriblement mauvaise pour les grands tableaux.