JavaScript-tableau et sa création.

Dans cet article nous allons examiner JavaScript-gamme, ses composants.JavaScript est un langage de script orienté parfaitement, créé pour la programmation.En fait, il réalise les langues (standard ECMA-262) ECMAScript.

Où utiliser JavaScript?Il est utilisé comme un langage intégré afin de déterminer le chemin de l'application logicielle d'objet.Il peut être trouvé dans le navigateur: il est utilisé là comme un langage de script qui donne l'interactivité aux pages Web.

importantes caractéristiques architecturales de ce produit sont typage dynamique et faible, mémoire avtoupravlenie, fonctions de programmation idéales, qui sont les objets de la première catégorie.

fait, en JavaScript affecté différentes raisons, parce que le développement serait de créer un langage similaire à Java, mais facile à utiliser par les programmeurs.Par ailleurs, le langage JavaScript ne possède pas toute entreprise ou organisation qui le rend différent d'un certain nombre de styles de programmes utilisés par les développeurs web.

Notez que JavaScript - une marque déposée de préoccupation Oracle Corporation.

Qu'est-ce qu'un tableau?Type qui magasins numérotés valeurs

données appelée Array.Chacune de ces valeurs est considéré comme un composant de la matrice, et le numéro vers lequel un composant est appelé l'indice.Tableau JavaScript-typée.Cela signifie que les détails de la matrice peuvent avoir tout type, avec divers objets appartenant à la même baie, ont des styles complètement différents.Outre

, JavaScript tableau est dynamique, et il est dit que une taille fixe il n'y a pas besoin de déclarer.Après avoir ajouté de nouvelles pièces à tout moment.Tableau

Fabrication

utilisant le langage JavaScript, pour créer un tableau assez difficile.Il existe deux méthodes pour cela.Le premier concerne la production d'un tableau à l'aide d'un littéral - de crochets, à l'intérieur duquel est placée une liste d'éléments, divisé par des virgules.

  • var vide = [];// Tableau vide;Numers
  • = var [4, 1, 2, 5];// Tableau avec cinq composantes numériques;
  • var diff = [1,5, fausse, «text"];// Tableau avec trois éléments de différents types.

Typiquement, il n'y a aucune exigence que les valeurs étaient simples (et numéro de ligne).Il peut aussi y avoir d'autres expressions, par exemple, sous réserve d'autres fonctions littéraux et les tableaux.

deuxième façon de créer un tableau du concepteur est d'appeler Array ().Invitation lui sont trois méthodes:

  • concepteur Appel sans arguments: var b - new Array ().Il prévoit la création d'un réseau équivalent littéral vide vide [].
  • Designer a indiquer clairement la valeur de n composantes tableau: var b = new Array (1, 3, 5, 8, «une ligne», true).Dans ce cas, le concepteur a présenté une liste d'arguments, qui sont convertis en les composants de la nouvelle gamme.Les arguments sont écrites sur le réseau est l'endroit où indiqué.
  • portée pour attribuer des valeurs plus tard.Cela se fait en spécifiant la matrice de détection de nombres entre parenthèses: var b = new Array (5).Cette méthode de détection comporte l'attribution d'un tableau du nombre requis de composants (dont chacun est listé comme défini) avec la possibilité d'attribuer des valeurs en cours de discussion.Cette forme est généralement utilisé pour pré-allouer le Javascript-gamme dont la longueur est connue à l'avance.

l'écriture, la lecture et l'ajout de pièces éventail

atteindre les composants de la matrice, vous pouvez utiliser l'opérateur [].Par ailleurs, tous les composants dans JavaScript, en commençant par zéro, numérotée.Pour obtenir les éléments nécessaires, son numéro est indiqué entre parenthèses.En règle générale, les articles peuvent être modifiés.Un JavaScript à ajouter au tableau, vous devez attribuer une nouvelle valeur.

convient de noter que dans le tableau JavaScript peut stocker un certain nombre d'éléments de toute nature.

Longueur de

Donc, nous savons ce que JavaScript.La longueur de la matrice est en général un phénomène intéressant.Voyons plus en détail.Toutes les gammes sont conçus par un créateur Array (), et identifié grâce à un littéral de tableau à avoir une longueur de propriété spécifique, qui rappelle le nombre total d'éléments sont conservés.Depuis le tableau peut être incertain des détails (désignés par undefined), une expression plus précise semble si: longueur de la qualité est toujours plus grande par rapport au plus grand numéro d'ensemble (index) de composant.La longueur de la qualité est réglée automatiquement, en restant fidèle à l'apparition d'une série de nouvelles pièces.

est venu à la dernière composante du tableau, vous pouvez utiliser le long-métrage.

dernier élément a un indice est l'un inférieur à la taille de la matrice.Après avoir compté toujours commencer à partir de zéro.Oh, cette JavaScript!La longueur de la matrice, il dépend du nombre exact d'articles.Par conséquent, si vous ne savez pas combien ils devraient être, mais vous avez besoin de se tourner vers le dernier élément du tableau, vous devez appliquer le record: v.length - 1.

pièces Bust tableau

Très souvent, la propriété length est utilisé pour itérer sur l'ensemble des pièces du cycle:

  • var fruits = [«Strawberry", "pêche", "pomme", "banane"];
  • for (var i = 0; i & lt; fruits.lenght; i ++);
  • document.write (fruits [i] + «...»).

Dans cet exemple, il semble que les composants sont placés en permanence et commencent avec la première partie, qui est propriétaire de l'indice zéro.Si pas, avant d'appeler chaque élément du tableau doit être vérifié, si elle est définie.Cycle de

est aussi parfois utilisé pour initialiser les composants.

Zoom et le réseau de troncature

demandent comment en utilisant le langage JavaScript dans un tableau de chaînes à ajouter?Dans le processus de travailler avec des tableaux, la longueur de la longueur améliore automatiquement la qualité, qui est pourquoi nous avons à vous soucier de vous-même.Il est nécessaire de se rappeler à propos d'un détail - la propriété length est est pas en lecture seule disponible, mais pour l'enregistrement.Si l'attribut de longueur à la qualité de la valeur qui donne la taille du courant, puis la matrice est réduite à une valeur prédéterminée.Tous les composants qui ne sont pas inclus dans la nouvelle gamme d'indices, inclinaison, et leurs valeurs sont perdus, même si plus tard revenir en arrière la longueur - ne pas être restaurés.

très facile à nettoyer car le tableau: foo.length = 0.

Si la qualité de longueur supérieure à sa valeur actuelle de l'exécution à la fin du tableau aura de nouveaux éléments non identifiés, qui permettront d'accroître à la taille désirée.

pièces Retrait tableau

supprimer opérateur spécifie le tableau composante sur undefined, mais il continue d'exister dans ce cas.Si vous devez supprimer un élément de tableau JavaScript de sorte que les parties restantes ont été déplacées pour un siège, vous devez utiliser l'une des méthodes pour prédire le tableau.Méthode Array.shift () supprime le premier volet, pop () - l'ingrédient final, et la méthode splice () - un ou une gamme de composants n'importe où dans le tableau.

tableaux multidimensionnels

crois que nous comprenons un peu plus sur ce que JavaScript.Tableaux à deux dimensions - qui doivent être examinées plus avant.Vous vous rappelez que les tableaux JavaScript que les composants peuvent contenir d'autres éléments?Cette fonction est utilisée pour la production de tableaux multi-dimensionnels.Pour visiter les ingrédients dans un tableau de tableaux est suffisante pour appliquer les supports deux fois.

tableaux associatifs

Maintenant, nous apprenons comment utiliser JavaScript marque tableaux associatifs.Pour cela, nous devons nous pencher sur la théorie faire: tableaux associatifs sont parfois appelés une table de hachage.Merci à eux, les indices utilisés ligne.L'utilisation de telles structures rappellent l'utilisation de la dénomination des propriétés d'un objet simple, mais dans ce mode de réalisation, lorsque l'on travaille dans un format de tableau.Comme dans JavaScript n'y a pas de façons d'utiliser des tableaux associatifs, ils sont utilisés beaucoup moins fréquemment que d'habitude.Il est à noter qu'ils peuvent toujours être utile pour le stockage des données et de simplifier le stockage des pièces à laquelle vous souhaitez accéder.

sortie tableau

Et maintenant, nous allons étudier dans le JavaScript?La sortie du réseau à la boîte de dialogue (sur l'écran), et les valeurs de sortie des composants de la matrice.

Si le programme que vous souhaitez afficher les valeurs de tous les composants, il est commode d'appliquer les instructions pour.Fait intéressant, la variable compteur est utilisée dans les règles de ce tableau composante d'index.

nettoyage

Pour filtrer tableau de JavaScript, vous devez réinitialiser la longueur:

  • var myArray = [1, 2, 5, 23];
  • myArray.length = 0.

suivant montre la mise en œuvre de destination claire (), dans un JavaScript-cadre, Prototype:

  • clair: function () {;
  • this.length = 0;
  • retourner ce;
  • }.

Ajout et suppression de composants

Eh bien, nous continuons à explorer davantage cette langue intéressante JavaScript.Élément de la matrice et peut être retiré et ajouté de la même manière que les propriétés classiques d'autres objets.Mais il ya quelques différences: tout en ajoutant les propriétés numériques peut changer la qualité de la longueur, et la modification de la propriété de la longueur peuvent être éliminés de la qualité numérique.En principe, le réglage qualités dans ces tableaux algorithme est:

  • Lorsque vous ajoutez les propriétés inconnues de i numérique, si la longueur est inférieure ou égale à i, la durée est déterminée à être i + 1 ,.
  • Lorsque vous changez la qualité de la longueur, comme suit: si la valeur attribuée est inférieure à zéro, puis RangeError.Liquidé tous les indices de qualité numériques qui sont égaux à la nouvelle longueur, et supérieur à.

supprimer générale est facile l'élément du tableau JavaScript.Après tout, même réglage de la longueur, il est nécessaire de supprimer des composants "Extra".D'où la possibilité de nettoyage dans le réseau.Si la variable est attribué un nouveau tableau vide pour une raison quelconque, pas satisfait, et il est nécessaire de remettre le courant, sa qualité est suffisante pour attribuer une valeur de longueur zéro.Méthodes

unshift, shift, pop et poussent

Malgré le fait que les composants du réseau sont modifiés manuellement, beaucoup recommandent cette option pour appliquer des méthodes intégrées.Il est cette nuance garantit la valeur correcte de la qualité et le manque de longueur dans les passes de tableau.Par ailleurs, la longueur correcte de la qualité va correspondre le nombre de composants.Procédé de poussée

se déplace vers la fin du tableau passé pour les détails.Méthode pop redonne à la dernière composante et le supprime.

générale dans Internet Explorer sous la huitième version unshift peut retourner undefined, dans d'autres navigateurs - la nouvelle valeur de longueur.Ainsi, sur la valeur de retour de la unshift est préférable de ne pas espérer.

Ajout et suppression de pièces dans le milieu du tableau

Si vous souhaitez supprimer un tableau de JavaScript, vous devez prendre?Il est connu que la méthode présente une Array.prototype.splice signature d'épissage.

Il se retire des composants réseau de deleteCount, en commençant avec le début de l'index.Si vous avez transféré plus de deux arguments, tous les arguments suivants sont placés dans le tableau au lieu de liquidés.Si start est négatif, l'indice à partir de laquelle pour reprendre le retrait sera égale à la longueur + commencer.Renvoie un tableau des éléments vient de la télécommande.

En fait, en utilisant la méthode d'épissage, des composants peut être retiré à partir du milieu du tableau, ou ajouter un nombre quelconque n'importe où dans le tableau.

Dans le cas le plus simple, si vous devez supprimer un composant d'indice i, dois demander la méthode tableau de jonction avec les paramètres i et 1.

En principe, la deuxième option à la méthode d'épissure est pas obligatoire, mais le comportement d'un argument en chaque navigateur différent.

Par exemple, dans Firefox, dans les dernières variations de l'Opéra, dans Safari et Chrome dans tous les articles sera retiré avant la fin du tableau.

dans IE ne sera pas liquidé tout composant.La première variante est impossible de prédire le comportement d'Opera - sera supprimé une seule pièce avec index start - 1. Par conséquent, vous devriez toujours passer dans la méthode au moins deux composants.

Clés

sûr, apprendre JavaScript, tableaux associatifs, comme mentionné plus haut, vous devez également pas perdre de vue.Ceci est un type abstrait de l'information (l'interface au magasin de données), qui vous permet d'enregistrer des paires de la forme "(clé, valeur)" et d'ajouter une paire des opérations de soutien, ainsi que de supprimer et de rechercher des paires de clés:

- Trouvez (clé).

- INSERT (valeur, clé).

- remove (key).

On croit que dans le tableau associatif Impossible d'enregistrer deux paires avec la même clé.Dans un couple de k + vv appelé valeur associée à la clé k.Sémantique et noms ci-dessus opérations dans diverses implémentations de ces tableaux peuvent être différents.

Ainsi, l'effet de FIND (key) retourne la valeur associée à une clé donnée, ou un objet spécifique FNUD, ce qui signifie que la valeur associée à une clé donnée est manquante.Deux autres actions ne renvoie rien (sauf pour les données que vous avez exécuté avec succès cette opération).

générale, du point de vue de l'interface, qui est un tableau associatif considéré comme un simple tableau, dans lequel, comme les indices peuvent être appliquées non seulement aux entiers, et d'autres types de valeurs - par exemple, des lignes.

façon, le soutien à de tels réseaux a de nombreux langages de programmation de haut niveau interprétés tels que PHP, Perl, Ruby, Python, Tcl, JavaScript, et d'autres.Pour les langues qui ne disposent pas des outils intégrés pour travailler avec des tableaux associatifs, créé un grand nombre d'implémentations sous la forme de bibliothèques.

exemple d'un tableau associatif peut servir comme un annuaire téléphonique.Dans ce mode de réalisation, la valeur d'un ensemble de "F.IO + e ", et la clé - le numéro de téléphone.Un numéro de téléphone est un maître, mais une personne peut posséder plusieurs chambres.

Associated prolongation

convient de noter que le plus célèbre de l'expansion sont les suivants:

  • CHAQUE - «aller» pour sauver toutes les paires.
  • CLEAR - pour supprimer toutes les entrées.
  • MIN - trouver une paire avec la clé plus bas.
  • MAX - trouver la paire avec la plus cruciale.

Dans les deux derniers cas, vous devez sur les touches effets de comparaison indiqué.Implémentations

de tableaux associatifs

Il existe de nombreuses implémentations différentes du tableau associatif.La mise en œuvre la plus commune peut être basée sur un tableau simple dont les composantes sont la touche (de la valeur) des fumées.Pour accélérer les actions de recherche peuvent être commandés sur les composants de la matrice et la mise en œuvre des principales conclusions en utilisant une recherche binaire.Mais il va augmenter la quantité de temps vous devez ajouter une nouvelle paire, que devront "pousser" les composants de la matrice qui est apparu dans une cellule vide pour emballer un nouveau record.

meilleure mise en œuvre connue, en fonction de divers arbres de recherche.Par exemple, dans une typique salle de lecture de la carte STL conteneur de C est réalisée sur la base de noir et acajou.Dans le style de Ruby, Tcl, Python utilisé un type de table de hachage.Il ya aussi d'autres la mise en œuvre.

En général, chaque application a ses avantages et ses inconvénients.Il est important que tous les trois opérations ont été remplies en moyenne, et dans le pire période de la nuance à propos de (log n), où n - le nombre actuel de sauver le par.Pour un concertées arbres de recherche (y compris les arbres noirs et rouges), cette condition est satisfaite.

connu que les implémentations basées sur les tables de hachage, définie comme le temps moyen O (1), ce qui est mieux que les actions fondées sur l'arbre de recherche.Bien sûr, cela ne garantit pas une exécution à grande vitesse de certaines opérations: la durée de l'instruction INSERT est considéré comme le pire des cas en O (n).Processus de INSERT est effectuée pendant une longue période lorsque le rapport cyclique atteint le point le plus haut, et il ya la nécessité de reconstruire la table d'index de hachage.

façon, ces états de hachage mauvaise que sur cette base, il est impossible d'effectuer une action supplémentaire rapide MAX, MIN et l'algorithme de parcours pour enregistrer toutes les paires dans l'ordre croissant ou décroissant touches.