Les types de tableaux en JavaScript sont très différents de ceux d'autres langues. Chaque élément de JavaScript peut conserver tout type de données. De plus, la taille des tableaux JavaScript peut être ajustée dynamiquement et peut augmenter automatiquement à mesure que les données sont ajoutées pour s'adapter aux nouvelles données .
Il existe deux formes de base de création d'un tableau.
1.Arganiment
var cities = new Array ();
Si vous connaissez le nombre d'éléments à enregistrer à l'avance, vous pouvez également transmettre ce nombre au constructeur, qui deviendra automatiquement la valeur de l'attribut de longueur.
var villes = nouveau tableau (3);
Vous pouvez également transmettre les éléments qui doivent être inclus dans le tableau du constructeur du tableau.
var cities = new Array ("shanghai", "beijing", "shenzhen");Le nouvel opérateur peut être omis lors de la création d'un tableau:
var villes = array (3); // Créer un tableau contenant 3 éléments
2. Représentation littérale du tableau
La notation littérale du tableau est représentée par une paire de crochets contenant des éléments de tableau, séparés par des virgules, comme suit:
var cities = ["shanghai", "beijing", "shenzhen"]; var cities = []; // Créer une chaîne vide
Lors de la lecture et de la définition de la valeur d'un tableau, utilisez des crochets et fournissez un index numérique basé sur 0 (basé sur 0 compte à partir de 0, le premier terme est 0, le deuxième terme est 1, et ainsi de suite), comme indiqué ci-dessous:
var villes = ["shanghai", "beijing", "shenzhen"]; alert (villes [0]); // Cities "Shanghai" [1] = "Hongkong"; // Modifiez le deuxième élément "Pékin" aux villes "Hongkong" [3] = "Taiwan" // Ajouter un nouvel élément
Le nombre d'éléments dans le tableau est enregistré dans la propriété Longueur et n'est pas en lecture seule . Par conséquent, en définissant la propriété Longueur, vous pouvez supprimer les éléments de l'extrémité du tableau ou ajouter de nouveaux éléments au tableau.
var cities = ["shanghai", "beijing", "shenzhen"]; cities.length = 2; alert (villes [2]); // indéfini
En utilisant cette propriété de longueur, vous pouvez ajouter de nouveaux éléments à la fin du tableau:
var cities = ["shanghai", "beijing", "shenzhen"]; villes [cities.length] = "hongkong";
1. Détectez le tableau
Ecmascript5 a ajouté la méthode array.isArray (), qui est de déterminer si une valeur est un tableau, quel que soit l'environnement d'exécution global qu'il est créé. L'utilisation est la suivante:
if (array.isArray (valeur)) {// effectuez des opérations sur le tableau}2. Méthode de conversion
Tous les objets ont des méthodes tolocalestring (), toString () et Value of (). La méthode toString () du tableau est appelée toString () pour renvoyer une chaîne séparée par des virgules épissée à partir de la forme de chaîne de chaque valeur dans le tableau. Par exemple:
var cities = ["shanghai", "beijing", "shenzhen"]; alert (cities.toString ()); // Shanghai, Pékin, Shenzhenert (villes.valueof ()); // Shanghai, Pékin, Shenzhernert (villes); // Shanghai, Pékin, Shenzhernert (villes); // Shanghai, Pékin, Shenzhen
Remarque: Étant donné qu'Alert () doit recevoir des paramètres de chaîne, il appellera la méthode toString () en arrière-plan, il obtiendra donc directement le même résultat de l'appel de la méthode toString ().
De plus, la méthode tolocalestring () renvoie souvent la même valeur que toString () et valeurof (). La différence est que pour obtenir la valeur de chaque élément, la méthode tolocalestring () de chaque élément est appelée , plutôt que la méthode toString (). Par exemple:
var p1 = {tolocalestring: function () {return "p1 tolocalestring"; }, toString: function () {return "p1 toString"; }}; var p2 = {tolocalestring: function () {return "p2 tolocalestring"; }, toString: function () {return "p2 toString"; }}; var p = [p1, p2]; alerte (p); alerte (p.toString ()); alerte (p.tolocalestring ());Le résultat montre que la méthode TOSTRING est appelée dans les première et deuxième lignes, et la méthode Tolocalestring est appelée dans la troisième ligne.
Les méthodes Tolocalestring (), ToString () et ValueF () héritées par le tableau renvoient les éléments du tableau sous la forme de chaînes séparées par défaut par défaut. Avec la méthode join (), vous pouvez utiliser différents caractères pour diviser la chaîne, puis renvoyer la chaîne contenant tous les éléments du tableau.
var cities = ["shanghai", "beijing", "shenzhen"]; alert (villes); // Shanghai, Beijing, Shenzhernert (Cities.join (",")); // Shanghai, Beijing, Shenzhenert (Cities.join ("|")); // Shanghai | Beijing | Shenzhenne3. Méthode de pile
Une pile est une structure de données du dernier entrée (LIFO), et l'insertion et la suppression des éléments de données dans la pile ne peuvent se produire qu'en haut de la pile. Les tableaux JavaScript fournissent des méthodes push () et pop () pour implémenter un comportement de type pile.
Méthode push ()
Vous pouvez prendre n'importe quel nombre de paramètres, les ajouter à la fin du tableau et modifier la longueur du tableau.
var params = new array (); var count = params.push ("a", "b"); alert (params); // A, Balert (Count); // 2À partir de l'exemple ci-dessus, nous pouvons voir que le nombre de termes insérés renvoyés par la méthode push ().
Méthode pop ()
Retirez le dernier élément de l'extrémité du tableau, réduisez la longueur du tableau et renvoyez l'élément supprimé.
var params = new array (); var count = params.push ("a", "b", "c"); var item = params.pop (); alert (item); // Calendart (params.length); // 24. Méthode de la file d'attente
La règle d'accès pour la structure de données de la file d'attente est la première entrée (FIFO), c'est-à-dire que les éléments sont ajoutés à la fin de la file d'attente et les éléments sont supprimés de l'extrémité avant de la file d'attente.
Méthode Shift ()
La méthode Shift () est fournie dans JavaScript, qui supprime le premier élément dans le tableau et renvoie l'élément, et modifie en même temps l'attribut de longueur du tableau.
var params = new array (); var count = params.push ("a", "b", "c"); var item = params.shift (); // Obtenez la première alerte d'élément (élément); // aAlert (params.length); // 2Méthode UNSHIFT ()
JavaScript fournit également la méthode UNSHIFT (), qui peut ajouter n'importe quel élément à l'extrémité avant du tableau et renvoyer la longueur du nouveau tableau.
var params = new Array (); var count1 = params.unshift ("a"); alert (count1); // 1Alert (params); // avar count2 = params.unshift ("b"); alert (count2); // 2Alert (params); // b, avar count3 = params.unshift ("c", "d"); alert (params); // c, d, b, aIl a été observé que s'il y a plusieurs termes dans Unhift () à la fois, il insérera ces termes dans le tableau dans l'ordre, c'est-à-dire que le premier paramètre est inséré à l'avant. Comme dans l'exemple ci-dessus, "A" est inséré pour la première fois, "B" est inséré pour la deuxième fois, et il y a plusieurs termes lorsque la troisième fois, mais l'ordre est C à l'avant et D à l'arrière.
5. Méthode de réorganisation
Il existe deux méthodes directement utilisées pour réorganiser dans le tableau.
Méthode reversée ()
La méthode inverse () inverse l'ordre des éléments du tableau.
var valeurs = [1,2,3,4,5]; valeurs.reverse (); alert (valeurs); // 5,4,3,2,1
méthode tri ()
Par défaut, la méthode tri () organise les éléments du tableau dans l'ordre croissant. Pour atteindre le tri, la méthode SORT () appelle la méthode de transformation ToString () de chaque élément de tableau, puis compare la chaîne résultante. Par conséquent, la méthode tri () compare les chaînes .
var valeurs = [3,5,53,2,34]; valeurs.sort (); alert (valeurs); // 2,3,34,5,53
Cependant, nous pouvons dire que ce tri est fondamentalement dénué de sens, et ce dont nous avons besoin, c'est de trier les valeurs numériques. La méthode tri () peut recevoir une fonction de comparaison comme un argument pour spécifier les règles de tri.
La fonction de comparaison reçoit deux paramètres, renvoie un nombre négatif si le premier paramètre doit être avant le deuxième paramètre, renvoie 0 si les deux paramètres sont égaux et renvoie un nombre positif si le premier paramètre est après le deuxième paramètre.
fonction compare (value1, value2) {if (value1 <value2) {return -1; } else if (value1> value2) {return 1; } else {return 0; }} var valeurs = [3,5,53,2,34]; valeurs.sort (comparer); alert (valeurs); // 2,3,4,34,536. Méthode d'opération
Méthode concat ()
Un nouveau tableau peut être créé en fonction de tous les éléments du tableau actuel. Cette méthode crée une copie du tableau actuel, ajoute les paramètres à la fin de la copie et renvoie le tableau nouvellement construit. Si un ou plusieurs tableaux sont transmis à la méthode Concat (), chaque élément du tableau est ajouté au tableau.
var arrays = ["a", "b", "c"]; var arrays2 = arrays.concat ("d", ["e", "fe"]); alert (arrays); // A, B, Calert (Arrays2); // a, b, c, d, e, fMéthode Slice ()
Crée un nouveau tableau basé sur un ou plusieurs éléments dans le tableau actuel. La méthode Slice () peut recevoir un ou deux paramètres, c'est-à-dire les positions de début et de fin de l'élément à retourner . Lorsqu'il n'y a qu'un seul paramètre, il renvoie tous les éléments de l'élément de départ à la fin du tableau. Lorsqu'il y a deux paramètres, il renvoie l'élément entre la position de début et la position finale (à l'exclusion de l'élément final). La méthode Slice () n'affectera pas le tableau d'origine.
var cities = ["beijing", "shanghai", "shenzhen", "guangzhou"]; var cities2 = cities.slice (1); var cities3 = cities.slice (1,3); alert (cities2); // Shanghai, Shenzhen, Guangzhou Alert (villes3); // Shanghai, Shenzhen
Méthode Splice ()
La méthode Splice () est principalement utilisée pour insérer des éléments au milieu du tableau, et il existe 3 façons de l'utiliser:
• Supprimer peut supprimer n'importe quel nombre d'éléments, spécifier 2 paramètres: le premier élément à supprimer et le nombre d'éléments à supprimer, tels que: Splice (1,3) supprimera les 2e, 3e et 4e éléments dans le tableau
var villes = ["Beijing", "Shanghai", "Shenzhen", "Guangzhou"]; Cities.splice (1,3); alert (villes); // Pékin
• Insérer, vous pouvez insérer n'importe quel nombre d'éléments dans la position spécifiée. Spécifiez 3 paramètres: position de départ, 0 (nombre d'éléments à supprimer) et élément à insérer
var cities = ["beijing", "shanghai", "shenzhen", "guangzhou"]; cities.splice (1,0, "hongkong"); alert (villes); // Pékin, Hongkong, Shanghai, Shenzhen, Guangzhou
• Remplacer les éléments qui peuvent remplacer la position spécifiée. Spécifiez 3 paramètres: position de démarrage, élément à supprimer et tout élément à insérer.
var villes = ["Beijing", "Shanghai", "Shenzhen", "Guangzhou"]; Cities.splice (1,2, "Hongkong"); alert (villes); // Pékin, Hongkong, Guangzhou
7. Méthode de position
Il existe deux méthodes de position dans la méthode JavaScript: indexof () et la méthode LastIndexof (). Les deux méthodes reçoivent deux paramètres: l'élément à trouver et l'index (facultatif) indiquant l'emplacement du point de départ de la recherche.
La méthode indexof () signifie regarder en arrière depuis le début du tableau, tandis que le LastIndexof () commence à partir de la fin du tableau. Ils renvoient tous la position de l'article trouvé dans le tableau et -1 si cela n'est pas trouvé. Le congruent est utilisé lors de la comparaison du premier paramètre avec chaque élément du tableau.
var nums = [1,2,3,4,5,6]; alert (nums.indexof (3)); // 2ALERT (nums.lastIndexof (5)); // 4Alert (nums.indexof (3,1)); // 2ALERT (nums.lastIndexof (4,4)); // 3
8. Méthode d'itération
JavaScript fournit 5 méthodes itératives pour les tableaux. Chaque méthode reçoit deux paramètres: la fonction à exécuter sur chaque élément et (facultatif) l'objet Scope qui exécute la fonction - affectant la valeur de cela. Paramètres qui doivent être transmis: la valeur de l'élément de tableau, la position de l'élément dans le tableau et l'objet de tableau lui-même.
• Chaque (): exécute une fonction donnée sur chaque élément du tableau, et si le nombre de lignes renvoie true pour chaque élément, il renvoie true.
• Filter (): Exécutez une fonction donnée sur chaque élément du tableau et renvoyez un tableau composé d'éléments qui reviendront True.
• foreach (): exécute une fonction donnée sur chaque élément du tableau sans renvoyer une valeur
• map (): une fonction consistant à exécuter une fonction donnée sur chaque élément du tableau, renvoyant le résultat de chaque appel de fonction.
• Certains (): exécute une fonction donnée sur chaque élément du tableau. Si un élément renvoie true, la fonction renvoie true.
Aucune des méthodes ci-dessus ne modifiera les valeurs contenues dans le tableau.
9. Méthode de fusion
Il existe deux méthodes pour fusionner les tableaux dans JavaScript: réduction () et reduceRight (). Les deux méthodes disent tous les éléments du tableau, puis créent une valeur renvoyée finale. Où, la méthode Reduce () commence à partir du premier élément du tableau, et ReduceRight () commence à partir du dernier élément du tableau.
Ils peuvent tous deux recevoir deux paramètres: une fonction appelée chaque élément et (facultatif) comme valeur initiale de la base de fusion. La fonction transmise pour réduire () et reduceRight () reçoit 4 paramètres: la valeur précédente, la valeur actuelle, l'index de l'élément et l'objet de tableau. Toute valeur renvoyée par cette fonction sera automatiquement transmise à l'élément suivant comme premier paramètre. La première itération se produit sur le deuxième terme du tableau, donc le premier paramètre est le premier terme du tableau, et le deuxième paramètre est le deuxième terme du tableau.
var valeurs = [1,2,3,4,5]; var sum = valeurs.reduce (fonction (prev, cur, index, array) {return prev + cur;}); alert (sum); // 15La première fois que la fonction de rappel est exécutée, le prev est 1 et Cur est 2. La deuxième fois, PREV est 3 (1 + 2), Cur est 3 (valeur du troisième terme du tableau), sachant que chaque élément est accessible.
ReduceRight () a des fonctions similaires, mais la direction est opposée.
L'analyse complète ci-dessus de JavaScript: le type de tableau est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.