J'utilise JS depuis longtemps, mais je n'ai jamais plongé dans la forme du tableau de JS. Parfois, l'utilisez est simple string.split (char). Un projet que j'ai réalisé au cours de cette période utilise beaucoup de tableaux. Je pense que je suis un maître de JS et je ne sais pas comment commencer. Je suis cruel et je l'apprendrai! hehe. Après avoir appris, j'ai réalisé que la fonction de JS Array est très puissante, beaucoup plus forte que VB et C #. Jetons un coup d'œil lentement.
1. Création de tableaux
var arrayoBj = new Array (); // Créer un array var arrayoBj = nouveau array ([taille]); // Créez un tableau et spécifiez la longueur, notez que ce n'est pas la limite supérieure, c'est la longueur var arrayoBj = nouveau tableau ([élément0 [, élément1 [, ... [, élémentn]]]]); // Créez un tableau et attribuez une valeur
Il convient de noter que bien que la deuxième méthode crée un tableau qui spécifie la longueur, en fait, le tableau est plus long dans tous les cas, c'est-à-dire, même si la longueur est spécifiée, l'élément peut toujours être stocké en dehors de la longueur spécifiée. Remarque: la longueur changera en conséquence.
2. Accès aux éléments du tableau
var testGetArValue = arrayoBj [1]; // Obtenez la valeur d'élément du tableau
arrayoBj [1] = "Ceci est une nouvelle valeur"; // attribue une nouvelle valeur à l'élément de tableau
3. Ajout d'éléments de tableau
Code
ArrayOBJ. push ([item1 [item2 [... [itemn]]]); // ajouter un ou plusieurs nouveaux éléments à la fin du tableau et renvoyer la nouvelle longueur de l'array ArrayObj.unshift ([Item1 [item2 [... ArrayoBj.splice (insertpos, 0, [item1 [, item2 [, .. [, itemn]]]]); // insérer un ou plusieurs nouveaux éléments dans la position spécifiée du tableau, les éléments de la position d'insert se déplaceront automatiquement en arrière et retourneront "".
4. Suppression des éléments du tableau
arrayoBj.pop (); // Supprimez le dernier élément et renvoyez la valeur de l'élément arrayoBj.shift (); // Supprimez le dernier élément et renvoyez la valeur de l'élément, les éléments du tableau avanceront automatiquement ArrayObj.splice (DeletePos, DeleteCount); // Supprimer les éléments du nombre spécifié de DeleteCount à partir de la position spécifiée DeletePos, et renvoyez l'élément supprimé dans le formulaire de tableau
5. Interception et fusion des tableaux
ArrayoBj.slice (start, [fin]); // Renvoie la partie du tableau sous la forme d'un tableau, notez que les éléments correspondant à la fin ne sont pas inclus. Si la fin est omise, tous les éléments après le début seront copiés
arrayoBj.concat ([item1 [, item2 [, .. [, itemn]]]]); // Connectez plusieurs tableaux (peut également être des chaînes, ou un mélange de tableaux et de chaînes) dans un tableau, et retourner le nouveau tableau connecté
6. Copie de la table
ArrayoBj.slice (0); // Renvoie le tableau de copie du tableau, notez qu'il s'agit d'un nouveau tableau, sans pointer vers
arrayoBj.concat (); // Renvoie le tableau de copie du tableau, notez qu'il s'agit d'un nouveau tableau, sans pointer vers
7. Trier les éléments
arrayoBj.reverse (); // inverse l'élément (le premier est classé dernier, le dernier est classé en premier) et retourne l'adresse du tableau
ArrayObj.Sort (); // trier les éléments de tableau et l'adresse de retour de retour
8. String des éléments de tableau
arrayoBj.join (séparateur); // Renvoie une chaîne, qui rejoint chaque valeur d'élément du tableau ensemble, séparée par un séparateur.
Tolocalestring, tostring, valeur de: il peut être considéré comme une utilisation spéciale de la jointure, pas souvent utilisée
2. Trois propriétés de l'objet de tableau
1. Attribut de longueur
L'attribut de longueur représente la longueur du tableau, c'est-à-dire le nombre d'éléments. Parce que l'indice d'un tableau commence toujours à partir de 0, les limites supérieures et inférieures d'un tableau sont respectivement: 0 et longueur-1. Contrairement à la plupart des autres langues, la propriété de longueur des tableaux JavaScript est mutable, ce qui nécessite une attention particulière. Lorsque l'attribut de longueur est défini pour être plus grand, l'état de l'ensemble du tableau ne changera pas réellement, l'attribut de longueur devient plus grand; Lorsque l'attribut de longueur est défini comme inférieur à l'original, toutes les valeurs d'éléments avec des indices supérieures ou égales à la longueur du tableau d'origine sont perdues. Voici un exemple démontrant de modifier l'attribut de longueur:
Code
var arr = [12,23,5,3,25,98,76,54,56,76]; // définir une alerte de tableau (arr.length); // Affichez la longueur du tableau par 10 arr.length = 12; // augmente la longueur de l'alerte du tableau (arr.Length); // montre que la longueur du tableau est devenue 12 ARR (ARR [8]); // montre la valeur du 9ème élément, 56 arr.length = 5; // réduit la longueur du tableau à 5, et les éléments avec un indice égal ou dépassant 5 sont alertes jetées (arr [8]); // montre que le 9ème élément est devenu "non défini" arr.length = 10; // restaurer la longueur du tableau à 10 arr (arr [8]); // Bien que la longueur soit restaurée à 10, le 9ème élément ne peut pas être rétracté, montrant "non défini"
À partir du code ci-dessus, nous pouvons clairement voir les propriétés de l'attribut de longueur. Mais l'objet Longueur peut non seulement être explicitement défini, mais il peut également être implicitement modifié. Une variable non déclarée peut être utilisée dans JavaScript. De même, un élément de tableau non défini (se référant à un élément dont l'indice dépasse ou est égal à la longueur). À l'heure actuelle, la valeur de l'attribut de longueur sera définie sur la valeur de l'index d'élément utilisé plus 1. Par exemple, le code suivant:
var arr = [12,23,5,3,25,98,76,54,56,76]; alert (arr.length); arr [15] = 34; alert (arr.length);
Le code définit également d'abord un tableau contenant 10 numéros. Grâce à l'instruction d'alerte, on peut voir que sa longueur est de 10. Ensuite, un élément avec un indice de 15 est utilisé, et la valeur est de 15, c'est-à-dire ARR [15] = 34. À l'heure actuelle, la longueur du tableau est sortie en utilisant l'instruction d'alerte, et le résultat est 16. Quoi qu'il en soit, c'est une fonctionnalité surprenante pour les développeurs habitués à une programmation fortement dactylographiée. En fait, un tableau créé en utilisant la forme de nouveau tableau () a une longueur initiale de 0. Il s'agit du fonctionnement d'éléments non définis qui modifie la longueur du tableau.
À partir de l'introduction ci-dessus, nous pouvons voir que l'attribut de longueur est si magique qu'il peut facilement augmenter ou diminuer la capacité du tableau. Par conséquent, une compréhension approfondie de l'attribut de longueur aidera à l'appliquer de manière flexible pendant le processus de développement.
2. Attributs prototypes
Renvoie une référence au prototype de type d'objet. L'attribut prototype est partagé par objet.
objectName.prototype
Le paramètre ObjectName est le nom de l'objet objet.
illustrer:
Utilisez l'attribut Prototype pour fournir un ensemble de fonctions de base de la classe d'un objet. Une nouvelle instance d'un objet "hérite" l'opération qui donne le prototype d'objet.
Pour les objets Array, utilisez l'exemple suivant pour illustrer l'objectif de l'attribut Prototype.
Ajoutez une méthode à l'objet du tableau pour renvoyer la valeur d'élément maximale dans le tableau. Pour ce faire, déclarez une fonction, ajoutez-la à array.prototype et utilisez-la.
Code
fonction array_max () {var i, max = this [0]; for (i = 1; i <this.length; i ++) {if (max <this [i]) max = this [i];} return max;} array.prototype.max = array_max; var x = new array (1, 2, 3, 4, 5, 6); var y = x.max ();Une fois ce code exécuté, Y enregistre la valeur maximale dans le tableau X, ou 6.
3. Attribut de constructeur
Une fonction qui représente la création d'un objet.
object.constructor // objet est le nom d'un objet ou d'une fonction.
Description: La propriété du constructeur est membre de tous les objets avec prototype. Ils incluent tous les objets hérités JScript à l'exception des objets globaux et mathématiques. La propriété du constructeur contient une référence à une fonction qui construit une instance d'objet spécifique.
Par exemple:
x = new String ("Hi");
if (x.constructor == String) // Process (la condition est vraie).
ou
fonction myfunc {
// Corps de fonction.
}
y = new myfunc;
if (y.constructor == myfunc) // processus (la condition est vraie).
Pour les tableaux:
y = new Array ();