Array sans crochets

theguitou Messages postés 75 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 14 janvier 2009 - 9 juin 2008 à 20:10
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 10 juin 2008 à 12:01
Bonjour,

Je cherche un moyen d'accéder aux éléments d'un tableau sans utiliser les crochets ...

J'essaie d'injecter du javascript dans un langage de template qui me remplace tous les [...] par autre chose.

Existe-il des functions, comme dans bcp d'autres langages, du genre :

monarray.getElement(3) ou getElement(monarray, 3) ?

ou une autre solution ?

Merci.

4 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
9 juin 2008 à 22:04
Bonjour,
Tu trouveras peut être ton bonheur sur
cette page
http:/
/developer.mozilla.org/fr/docs/R%C3%A9f%C3%A9rence_de_JavaScript_1.5_Core:Objets_globaux:Array:lastIndexOf

<table bgcolor="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, ou une autre solution
?</td>
</td></tr></tbody></table>Rien ne
t'empêches de la créer...

mais honnêtement entre monarray.getElement(3)
et monarray[3] ...!!!!!
;O)
0
theguitou Messages postés 75 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 14 janvier 2009 35
9 juin 2008 à 22:58
Merci pour cette réponse.

Cependant lastIndexOf, en plus de ne pas être très portable, me retourne un indice, pas un élément du tableau.

En effet je peux créer la fonction, par exemple :

function getElement(array, i) {
  return array[i];
}

Mais je ne fait que déplacer mon problème, le [i] ne sera pas plus interprété ici... Par contre, si une telle fonction était définie ailleurs que dans mon code, je n'aurais plus de problème.
0
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
10 juin 2008 à 11:50
Bien le bonjour
en prototypant Array tu pourrais facilement mettre en place ta méthode getElement:

Array.prototype.getElement=function(_idx){
    return this[_idx];
}

et une petite méthode de test:
function testArray(){
    var monArray = new Array();
    for (var i=0 ;i <5 ; i++){
        monArray.push( 65+i);
    }
    alert (monArray.getElement(2));
    // affiche 67 ? oui !
}

la ou je pige pas tout c'est ça :
le [i] ne sera pas plus interprété ici... Par contre, si une telle
fonction était définie ailleurs que dans mon code, je n'aurais plus de
problème.

[o-_-o]
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
10 juin 2008 à 12:01
Bonjour,
Je crois que je viens de percuter, ne
s'agit-il pas de BBCode to HTML, ou un truc du même style ?
SI OUI
ALORS
  pas le bonne méthode utilisée pour remplacer le [i]
  il
est peut être plus judicieux d'utiliser
  Html =
Html.replace(/\[i]([^\]]*)\[\/i]/gim,'$1<\/i>');
SINON
  ne pas tenir comme de ce qui précéde
FINSI

PS :
  ne me demande pas comment
cela marche, j'ai récupéré cela dans un de mes vieux codes...
;O)
0
Rejoignez-nous