2013-07-23 2 views
0

J'apprends actuellement JavaScript à partir d'un livre et d'un codecadmey et j'ai eu une période de confusion avec les tableaux. Les deux sources diffèrent dans la façon dont ils configurent les tableaux.Les tableaux, comment ils sont mis en place, et les variables agissant comme un?

Quelles sont les différences entre celles-ci:

var arrayname = new array(); 
var arrayname = []; 

également dans ce code ci-dessous, il me semble qu'il traite le texte variable comme un tableau alors que les recherches pour en boucle à travers elle. Cela me déroute aussi. Comment est-ce qu'une variable normale peut être traitée comme un tableau?

Ce serait génial si vous pouviez aider! Merci.

var text = "Lorem Zachary ipsum dolor sit amet, consectetur adipiscing elit. Fusce ac dapibus felis, vel interdum ipsum. Sed non justo sed sapien faucibus interdum. Ut vehicula mauris hendrerit, dapibus diam eu, varius leo. Integer eu semper mi, eget feugiat ante. Donec pretium turpis dolor, eu imperdiet nunc vehicula at. Phasellus id mi sodales Zachary eros aliquam venenatis. Nam a eros orci. Sed commodo accumsan sapien, nec rhoncus elit venenatis in. Etiam vitae lorem libero. Quisque porta nibh id mauris auctor laoreet. Nunc porttitor metus et mi luctus hendrerit. Zachary Curabitur quis semper justo. Morbi sed augue commodo, blandit tortor eu, bibendum nibh. "; 
var myName = "Zachary"; 
var hits = []; 
for (var i = 0; i<text.length; i++){ 
    if (text[i] === "Z"){ 
     for(var j = i; j< (myName.length + i); j++) 
     hits.push(text[j]); 
    } 
} 

if (hits.length===0){ 
    console.log("your name wasn't found"); 
} 
else{ 
    console.log(hits); 
} 
+1

double possible de [Quel est le problème avec var x = new Array();] (http://stackoverflow.com/questions/885156/whats-wrong-with-var-x-new-array) – Blender

+1

Quant à votre deuxième question: [string.charAt (x) ou string \ [x \]?] (http://stackoverflow.com/questions/5943726/string-charatx-or-stringx) – Blender

+1

Aussi 'var arrayname = array []; 'n'est pas une syntaxe JavaScript valide. – voithos

Répondre

1

En javascript, et la plupart des langues String implémente des propriétés de type tableau pour vous permettre de travailler avec les caractères individuels. Cependant, dans javascript, il devrait être clair que String est distinct de Array et que des propriétés comme length sont en lecture seule sur String, mais sont éditables sur Array.

Le code:

var arrayname = new Array(); 

Dimensions l'objet arrayname comme une instance de la classe Array. Étant donné que la classe Array fournit la fonctionnalité d'avoir une longueur et vous permet de parcourir à travers ses membres, vous pouvez commencer immédiatement attribuer des valeurs en javascript comme:

arrayname[0] = "test"; 

Mais ce n'est pas la seule façon de dimensionner un tableau. Il existe également des versions abrégées. Même ce qui suit fonctionnera:

var fieldCount = resultSet.fieldCount; 
var fields = []; 
for(var i = 0; i < fieldCount;i++) { 
    fields.push(resultSet.fieldName(i)); 
}; 

Ainsi, alors il existe de nombreuses méthodes raccourcies, ce sont essentiellement des différentes façons de créer le même objet, une instance de type Array.

Mais comme l'a souligné par d'autres, je ne suis pas familier avec la syntaxe que vous avez utilisé:

var arrayname = array[]; 

Je ne pense pas qu'il est correct, mais je l'ai pas testé à coup sûr. Il est possible que cela vienne d'une source qui n'était pas javascript.

+0

Oui, j'ai fait une erreur parce que je suis nouveau dans les tableaux que je voulais dire var arrayname = []; au lieu de var arrayname = array []; – Zachooz

Questions connexes