J'ai oublié de préciser que je cherchais à le faire sans utiliser eval, mais je suis pas sur que ce soit possible (?)
Pascal
"Pascal Pensa" a écrit dans le message de news: 4330576f$0$1018$
Bonjour,
Je suis confronté au petit soucis suivant:
J'ai un tableau
var tablo=[ ["a","b"], ["x","y","z"], .... ]
et une fonction à arguments variables sur laquelle je veux appeler:
fct("a","b"); fct("x","y","z"); fct(...)
Comment faire pour transformer chaque sous tableau pour pouvoir appeler la fonction à arguments varibles ?
Merci de votre aide, j'ai cherché un peu sur google mais là je sèche ! Pascal
YD
J'ai un tableau
var tablo=[ ["a","b"], ["x","y","z"], .... ]
et une fonction à arguments variables sur laquelle je veux appeler:
fct("a","b"); fct("x","y","z"); fct(...)
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Merci de votre aide, j'ai cherché un peu sur google mais là je sèche !
Avant Google, une doc javascript avec recherche sur le type d'objets sur lequel on veut travailler me semble bien plus indiquée. La doc Windows script en fichier d'aide (.chm) peut faire l'affaire (en français), quelque part sur le site de l'éditeur, ou le guide du javascript 1.5 (in english) http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide>
-- Y.D.
J'ai un tableau
var tablo=[
["a","b"],
["x","y","z"],
....
]
et une fonction à arguments variables sur laquelle je veux appeler:
fct("a","b");
fct("x","y","z");
fct(...)
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Merci de votre aide, j'ai cherché un peu sur google mais là je sèche !
Avant Google, une doc javascript avec recherche sur le type d'objets
sur lequel on veut travailler me semble bien plus indiquée. La doc
Windows script en fichier d'aide (.chm) peut faire l'affaire (en
français), quelque part sur le site de l'éditeur, ou le guide du
javascript 1.5 (in english)
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide>
et une fonction à arguments variables sur laquelle je veux appeler:
fct("a","b"); fct("x","y","z"); fct(...)
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Merci de votre aide, j'ai cherché un peu sur google mais là je sèche !
Avant Google, une doc javascript avec recherche sur le type d'objets sur lequel on veut travailler me semble bien plus indiquée. La doc Windows script en fichier d'aide (.chm) peut faire l'affaire (en français), quelque part sur le site de l'éditeur, ou le guide du javascript 1.5 (in english) http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide>
-- Y.D.
Cenekemoi
... J'ai un tableau
var tablo=[ ["a","b"], ["x","y","z"], .... ]
et une fonction à arguments variables sur laquelle je veux appeler:
fct("a","b"); fct("x","y","z"); fct(...)
Comment faire pour transformer chaque sous tableau pour pouvoir appeler la fonction à arguments varibles ?
AMHA, le plus simple et efficace est que l'argument de la fonction soit une ligne du tableau :
function fct(liste) { for (var i=0; i<liste.length; i++) { var element = liste[i]; ... } }
et on appelle fct comme ceci :
for (var i=0; i<tablo.length; i++) { result = fct(tablo[i]); ... }
-- Cordialement, Thierry ;-)
...
J'ai un tableau
var tablo=[
["a","b"],
["x","y","z"],
....
]
et une fonction à arguments variables sur laquelle je veux appeler:
fct("a","b");
fct("x","y","z");
fct(...)
Comment faire pour transformer chaque sous tableau pour pouvoir
appeler la fonction à arguments varibles ?
AMHA, le plus simple et efficace est que l'argument de la fonction soit
une ligne du tableau :
function fct(liste) {
for (var i=0; i<liste.length; i++) {
var element = liste[i];
...
}
}
et on appelle fct comme ceci :
for (var i=0; i<tablo.length; i++) {
result = fct(tablo[i]);
...
}
et une fonction à arguments variables sur laquelle je veux appeler:
fct("a","b"); fct("x","y","z"); fct(...)
Comment faire pour transformer chaque sous tableau pour pouvoir appeler la fonction à arguments varibles ?
AMHA, le plus simple et efficace est que l'argument de la fonction soit une ligne du tableau :
function fct(liste) { for (var i=0; i<liste.length; i++) { var element = liste[i]; ... } }
et on appelle fct comme ceci :
for (var i=0; i<tablo.length; i++) { result = fct(tablo[i]); ... }
-- Cordialement, Thierry ;-)
Pascal Pensa
"Cenekemoi" a écrit dans le message de news: 43310330$0$27434$
...
Comment faire pour transformer chaque sous tableau pour pouvoir appeler la fonction à arguments varibles ?
AMHA, le plus simple et efficace est que l'argument de la fonction soit une ligne du tableau :
Bien entendu, mais je ne suis pas propriétaire du script dont la fonction prend un nombre d'arguments variables c'est un package inclus qui vient d'un autre site de la société et que je n'ai pas le droit de bricoler.
Pascal
"Cenekemoi" <thierry@no.spam> a écrit dans le message de news:
43310330$0$27434$8fcfb975@news.wanadoo.fr...
...
Comment faire pour transformer chaque sous tableau pour pouvoir
appeler la fonction à arguments varibles ?
AMHA, le plus simple et efficace est que l'argument de la fonction soit
une ligne du tableau :
Bien entendu, mais je ne suis pas propriétaire du script dont la fonction
prend un nombre d'arguments variables c'est un package inclus qui vient d'un
autre site de la société et que je n'ai pas le droit de bricoler.
"Cenekemoi" a écrit dans le message de news: 43310330$0$27434$
...
Comment faire pour transformer chaque sous tableau pour pouvoir appeler la fonction à arguments varibles ?
AMHA, le plus simple et efficace est que l'argument de la fonction soit une ligne du tableau :
Bien entendu, mais je ne suis pas propriétaire du script dont la fonction prend un nombre d'arguments variables c'est un package inclus qui vient d'un autre site de la société et que je n'ai pas le droit de bricoler.
Pascal
Pascal Pensa
"YD" a écrit dans le message de news: 4330708f$0$17236$
...
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Bonjour et merci pour la suggestion mais ça ne fonctionne pas, la fct appelée ne voit qu'une string composée des éléments du tableau séparés par des virgules, pas des arguments séparés.
Bon en attendant j'ai codé un truc moche mais qui marche:
Je trouve ça assez naze de ma part, mais si vous avez une meilleure idée...
Pascal
Merci de votre aide, j'ai cherché un peu sur google mais là je sèche !
Avant Google, une doc javascript avec recherche sur le type d'objets sur lequel on veut travailler me semble bien plus indiquée. La doc Windows script en fichier d'aide (.chm) peut faire l'affaire (en français), quelque part sur le site de l'éditeur, ou le guide du javascript 1.5 (in english) http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide
Merci, mais j'ai lu la doc et je n'y ai pas trouvé ma réponse sauf eval mais ça ne me plait pas beaucoup, on va dire que c'est pas très beau comme code ;-)
Pascal
"YD" <No-spam@thank.you.invalid> a écrit dans le message de news:
4330708f$0$17236$8fcfb975@news.wanadoo.fr...
...
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Bonjour et merci pour la suggestion mais ça ne fonctionne pas, la fct
appelée ne voit qu'une string composée des éléments du tableau séparés par
des virgules, pas des arguments séparés.
Bon en attendant j'ai codé un truc moche mais qui marche:
Je trouve ça assez naze de ma part, mais si vous avez une meilleure idée...
Pascal
Merci de votre aide, j'ai cherché un peu sur google mais là je sèche !
Avant Google, une doc javascript avec recherche sur le type d'objets
sur lequel on veut travailler me semble bien plus indiquée. La doc
Windows script en fichier d'aide (.chm) peut faire l'affaire (en
français), quelque part sur le site de l'éditeur, ou le guide du
javascript 1.5 (in english)
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide
Merci, mais j'ai lu la doc et je n'y ai pas trouvé ma réponse sauf eval mais
ça ne me plait pas beaucoup, on va dire que c'est pas très beau comme code
;-)
"YD" a écrit dans le message de news: 4330708f$0$17236$
...
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Bonjour et merci pour la suggestion mais ça ne fonctionne pas, la fct appelée ne voit qu'une string composée des éléments du tableau séparés par des virgules, pas des arguments séparés.
Bon en attendant j'ai codé un truc moche mais qui marche:
Je trouve ça assez naze de ma part, mais si vous avez une meilleure idée...
Pascal
Merci de votre aide, j'ai cherché un peu sur google mais là je sèche !
Avant Google, une doc javascript avec recherche sur le type d'objets sur lequel on veut travailler me semble bien plus indiquée. La doc Windows script en fichier d'aide (.chm) peut faire l'affaire (en français), quelque part sur le site de l'éditeur, ou le guide du javascript 1.5 (in english) http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide
Merci, mais j'ai lu la doc et je n'y ai pas trouvé ma réponse sauf eval mais ça ne me plait pas beaucoup, on va dire que c'est pas très beau comme code ;-)
Pascal
ASM
Pascal Pensa wrote:
"YD" a écrit dans le message de news: 4330708f$0$17236$
...
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Bonjour et merci pour la suggestion mais ça ne fonctionne pas, la fct appelée ne voit qu'une string composée des éléments du tableau séparés par des virgules, pas des arguments séparés.
Bon en attendant j'ai codé un truc moche mais qui marche:
dommage ! çà me semblait assez élégant comme méthode. sinon :
fct('"'+tabl[i].join('","')+'"');
çà ferait-y ?
ou en 2 temps :
var attrib = "'"+tabl[i].join("','")+"'"; fct(attrib);
Ha? la fonction à multiples paramètres de nombre variable n'a, en fait, qu'un paramètre ?
-- Stephane Moriaux et son [moins] vieux Mac
Pascal Pensa wrote:
"YD" <No-spam@thank.you.invalid> a écrit dans le message de news:
4330708f$0$17236$8fcfb975@news.wanadoo.fr...
...
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Bonjour et merci pour la suggestion mais ça ne fonctionne pas, la fct
appelée ne voit qu'une string composée des éléments du tableau séparés par
des virgules, pas des arguments séparés.
Bon en attendant j'ai codé un truc moche mais qui marche:
dommage ! çà me semblait assez élégant comme méthode.
sinon :
fct('"'+tabl[i].join('","')+'"');
çà ferait-y ?
ou en 2 temps :
var attrib = "'"+tabl[i].join("','")+"'";
fct(attrib);
"YD" a écrit dans le message de news: 4330708f$0$17236$
...
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Bonjour et merci pour la suggestion mais ça ne fonctionne pas, la fct appelée ne voit qu'une string composée des éléments du tableau séparés par des virgules, pas des arguments séparés.
Bon en attendant j'ai codé un truc moche mais qui marche:
dommage ! çà me semblait assez élégant comme méthode. sinon :
fct('"'+tabl[i].join('","')+'"');
çà ferait-y ?
ou en 2 temps :
var attrib = "'"+tabl[i].join("','")+"'"; fct(attrib);
Ha? la fonction à multiples paramètres de nombre variable n'a, en fait, qu'un paramètre ?
-- Stephane Moriaux et son [moins] vieux Mac
YD
"YD" a écrit dans le message de news:
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Bonjour et merci pour la suggestion mais ça ne fonctionne pas, la fct appelée ne voit qu'une string composée des éléments du tableau séparés par des virgules, pas des arguments séparés.
Je simplifierai en écrivant sur une ligne : eval('fct("' + tablo[i].join('", "') + '")');
C'est certainement une des rares occasions où il est difficile de se passer de eval() ! Et comme la contrainte de ne pas toucher à la fonction est impérative si j'ai bien compris...
-- Y.D.
"YD" <No-spam@thank.you.invalid> a écrit dans le message de news:
et fct(tablo[i].join()) ne ferait pas l'affaire ?
Bonjour et merci pour la suggestion mais ça ne fonctionne pas, la fct
appelée ne voit qu'une string composée des éléments du tableau séparés par
des virgules, pas des arguments séparés.
Je simplifierai en écrivant sur une ligne :
eval('fct("' + tablo[i].join('", "') + '")');
C'est certainement une des rares occasions où il est difficile de se passer
de eval() ! Et comme la contrainte de ne pas toucher à la fonction est
impérative si j'ai bien compris...
Bonjour et merci pour la suggestion mais ça ne fonctionne pas, la fct appelée ne voit qu'une string composée des éléments du tableau séparés par des virgules, pas des arguments séparés.
Je simplifierai en écrivant sur une ligne : eval('fct("' + tablo[i].join('", "') + '")');
C'est certainement une des rares occasions où il est difficile de se passer de eval() ! Et comme la contrainte de ne pas toucher à la fonction est impérative si j'ai bien compris...
-- Y.D.
ASM
YD wrote:
Je simplifierai en écrivant sur une ligne : eval('fct("' + tablo[i].join('", "') + '")');
j'avais essayé :
fct("'" + tablo[i].join("', '") + "'");
et çà n'avait pas fonctionné ... toujours groupation des élements faudrait peut-être passer par un replace apres un join() standard ?
C'est certainement une des rares occasions où il est difficile de se passer de eval() ! Et comme la contrainte de ne pas toucher à la fonction est impérative si j'ai bien compris...
çà n'empèche peut-être pas de faire un pre-traitement-décodage-traduction des arguments ?
var args = traduction(tablo[i]); fct(args);
reste à trouver le truc pour la conversion ...
-- Stephane Moriaux et son [moins] vieux Mac
YD wrote:
Je simplifierai en écrivant sur une ligne :
eval('fct("' + tablo[i].join('", "') + '")');
j'avais essayé :
fct("'" + tablo[i].join("', '") + "'");
et çà n'avait pas fonctionné ... toujours groupation des élements
faudrait peut-être passer par un replace apres un join() standard ?
C'est certainement une des rares occasions où il est difficile de se passer
de eval() ! Et comme la contrainte de ne pas toucher à la fonction est
impérative si j'ai bien compris...
çà n'empèche peut-être pas de faire un pre-traitement-décodage-traduction
des arguments ?
Je simplifierai en écrivant sur une ligne : eval('fct("' + tablo[i].join('", "') + '")');
j'avais essayé :
fct("'" + tablo[i].join("', '") + "'");
et çà n'avait pas fonctionné ... toujours groupation des élements faudrait peut-être passer par un replace apres un join() standard ?
C'est certainement une des rares occasions où il est difficile de se passer de eval() ! Et comme la contrainte de ne pas toucher à la fonction est impérative si j'ai bien compris...
çà n'empèche peut-être pas de faire un pre-traitement-décodage-traduction des arguments ?
var args = traduction(tablo[i]); fct(args);
reste à trouver le truc pour la conversion ...
-- Stephane Moriaux et son [moins] vieux Mac
ASM
YD wrote:
var args = traduction(tablo[i]); fct(args);
reste à trouver le truc pour la conversion ...
Impossible ! Le type liste ou énumération de valeurs/variables n'existe pas en JS ! 'args' ne peut donc pas être une liste de valeurs...
donc on en revient à :
var args = eval(tablo[i])
c'est çà ?
-- Stephane Moriaux et son [moins] vieux Mac
YD wrote:
var args = traduction(tablo[i]);
fct(args);
reste à trouver le truc pour la conversion ...
Impossible ! Le type liste ou énumération de valeurs/variables n'existe
pas en JS !
'args' ne peut donc pas être une liste de valeurs...