2 votes

Existe-t-il un moyen d'accéder à la propriété d'un objet en utilisant l'index ?

Ce que j'essaie de faire, c'est d'accéder à une propriété dans une variable : par exemple, je veux accéder au nom et au prénom du premier utilisateur (index 0), nom y prenom ) comme cela, sachant que les utilisateurs sont créés de manière dynamique :

J'ai essayé plusieurs solutions sur Internet, mais aucune n'a fonctionné correctement ou ne correspondait à mon problème.

Code source :

var liste = new Array();
var count = liste.length;

class Personne{
    constructor(){}
    info = {
        nom: faker.name.firstName(),
        prenom: faker.name.lastName(),
        civilite: faker.address.countryCode(),
    };
}
var pers = new Personne(); //global var now
function foo() {
    faker.locale= 'fr';
    pers = new Personne();
    document.getElementById("nom-prenom").textContent = "Nom complet : " + pers.info.nom + " " + pers.info.prenom;
    document.getElementById("nationalite").textContent = "Civilité : " + pers.info.civilite;

    liste.push(pers.info);
    count = count + 1;
    document.getElementById("count").textContent = `Liste des utilisateurs [${count}] :`;
    console.log(liste)  
    document.getElementById("liste_util").innerHTML += `<br><button id="a${liste.length - 1}" onclick='GetPos()'>${pers.info.nom + " " + pers.info.prenom}</button>`
    return {
        compt :count, 
        personne : pers,
    };
}

function GetPos()
{
   alert(pers.info["nom"]); //here but for index 0
}

Merci pour votre aide.

0voto

Rashed Rahat Points 1352

Obtenir les propriétés d'un objet par index

Des exemples qui vous permettent de comprendre comment réaliser ce que vous voulez :

o = { "key1": "value1", "key2": "value2"};
var idx = 1; // key2

var key = Object.keys(o)[idx];
value = o[key]

console.log(key,value); // key2 value2

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X