2010-10-20 4 views
1

Ok base JS 101 Je sais, mais ne trouve pas la réponse ...Besoin de construire des tableaux en Javascript + = ?? obtenir des chaînes

Pour le code ci-dessous j'ai déclaré var mls_link = []; In globals

Le paramètre data.getValue génère un élément de chaîne (adresses http) Lorsque j'exécute le code, la chaîne est un tableau plutôt que chaque "élément" étant une entrée de tableau .. ie mls_link [0] est h (le début de l'adresse http) Je veux chaque élément à adressable comme une adresse http donc quand je demande mls_link [0] Je reçois « http://someaddress.com »

for (var i = 0; i < data.getNumberOfRows(); i++) 
     mls_link+=(data.getValue(i,1)); 

Merci

+0

bien qui est mieux, je pense que – dartdog

Répondre

1

Dans de nombreuses implémentations de Javascript, les chaînes peuvent être indexées comme un tableau (cependant, comme CMS l'a indiqué correctement dans les commentaires, la bonne façon de faire cela est d'utiliser String.charAt). à savoir:

var s = "hello world"; 
alert(s[6]); // "w" 

Si vous souhaitez ajouter une valeur à un tableau, utilisez Array.push:

mls_link.push(data.getValue(i, 1)); 
+0

Non * "toujours" *, les * propriétés de l'index nommé * qui correspondent à chaque position de caractère ont été [récemment introduits] (http://ecma262-5.com/els5_html.htm#Section_15.5.5) dans la spécification ECMAScript 5th Edition, même si cela était supporté comme une extension ES3 non standard par certaines implémentations basées sur ES3, cela ne fonctionne pas dans certains navigateurs (IE8 en mode compat, IE7, etc, sont de bons exemples). C'est pourquoi la méthode 'String.prototype.charAt' existe,' s.charAt (6); // w' – CMS

+0

@CMS vous avez raison, j'ai oublié charAt. Je vais mettre à jour la réponse. –

+0

Merci, la syntaxe array.push était ce dont j'avais besoin! (avec data.getValue) – dartdog

1
mls_link.push(data.getValue(i,1)) 
Questions connexes