Tableau de table
1. Introduction
Un tableau est une collection ordonnée de valeurs. Chaque valeur est appelée un élément, et chaque élément a une position dans le tableau, représenté par un nombre, appelé index. Les tableaux JavaScript sont sans type: les éléments du tableau peuvent être de n'importe quel type, et différents éléments du même tableau peuvent également avoir différents types. - "Guide faisant autorité de JavaScript (sixième édition)"
2. Définition
La copie de code est la suivante:
var noms = nouveau array ("Zhang san", "li si", "wang wu");
//ou
var noms = ["zhang san", "li si", "wang wu"];
3. Propriétés
Longueur: représente la longueur de l'élément dans le tableau.
4. Exemple de méthode
Méthodes courantes:
1) Unsich (): insérer un élément à la tête du tableau
2) Shift (): Retirez et renvoyez le premier élément du tableau
3) push (): insérer un élément à la fin du tableau
4) pop (): supprimer et retourner le dernier élément du tableau
4.1 CONCAT (): Connectez les éléments au tableau. Le tableau d'origine ne sera pas modifié et le nouveau tableau sera retourné.
paramètre:
①Value1, valeur2 ... valluen: n'importe quel nombre de valeurs
Valeur de retour:
{Array} Un nouveau tableau contenant le tableau d'origine et les éléments nouvellement ajoutés.
Exemple:
La copie de code est la suivante:
var démoarray = ['a', 'b', 'c'];
var DeMoArray2 = DemoArray.Concat ('E');
Console.log (DemoArray); // => DemoArray: ['A', 'B', 'C'] Le tableau d'origine ne change pas
Console.log (DemoArray2); // => ['a', 'b', 'c', 'e']
4.2 chaque (): traversez les éléments à tour à tour pour déterminer si chaque élément est vrai
paramètre:
① Fonction (valeur, index, self) {}: Chaque élément utilisera cette fonction pour déterminer si elle est vraie. Lorsqu'il est jugé que l'on est faux, la traversée sera immédiatement terminée.
Valeur: l'élément de la traversée du tableau
Index: numéro d'élément
Soi: Array lui-même
Valeur de retour:
{Boolean}: renvoie True uniquement si chaque élément est vrai; Si l'on est faux, revenez faux.
Exemple:
La copie de code est la suivante:
var DemoArray = [1, 2, 3];
var rs = demoarray.every (fonction (valeur, index, self) {
valeur de retour> 0;
});
Console.log (RS); // => true
4.3 Filter (): Traverser les éléments à leur tour et renvoyer un nouveau tableau contenant des éléments qui répondent aux critères.
paramètre:
① Fonction (valeur, index, self) {}: Chaque élément appelle cette fonction à son tour, renvoyant un nouveau tableau contenant des éléments qui répondent aux critères.
Valeur: l'élément de la traversée du tableau
Index: numéro d'élément
Soi: Array lui-même
Valeur de retour:
{Array} Un nouveau tableau contenant des éléments qui correspondent aux critères
Exemple:
La copie de code est la suivante:
var DemoArray = [1, 2, 3];
var rs = demoArray.filter (fonction (valeur, index, self) {
valeur de retour> 0;
});
Console.log (RS); // => [1, 2, 3]
4.4 ForEach (): Traversé les éléments en séquence et exécuter la fonction spécifiée; aucune valeur de retour.
paramètre:
① Fonction (valeur, index, self) {}: chaque élément appelle cette fonction à son tour
Valeur: l'élément de la traversée du tableau
Index: numéro d'élément
Soi: Array lui-même
Valeur de retour: aucun
Exemple:
La copie de code est la suivante:
var DemoArray = [1, 2, 3];
DemoArray.ForEach (fonction (valeur, index, self) {
console.log (valeur); // => sortie en séquence: 1 2 3
});
4.5 Indexof (): Trouvez des éléments correspondants dans un tableau. Si aucun élément correspondant n'existe, retournez -1. Utilisez l'opérateur "===" lors de la recherche, vous devez donc faire la distinction entre 1 et «1»
paramètre:
①Value: La valeur à trouver dans le tableau.
②Start: la position du numéro de série qui commence à rechercher, si elle est omise, elle est 0.
Valeur de retour:
{Int}: renvoie la première valeur de correspondance dans le tableau. S'il n'existe pas, retournez -1
Exemple:
La copie de code est la suivante:
['a', 'b', 'c']. indexof ('a'); // => 0
['a', 'b', 'c']. indexof ('a', 1); // => - 1
['a', 'b', 'c']. indexof ('d'); // => - 1
[1, 2, 3] .Indexof ('1'); // => -1: la méthode de correspondance '===' utilisée
4.6 JOIN (): Splice tous les éléments du tableau dans une chaîne via un délimiteur.
paramètre:
①sparator {String}: le séparateur entre chaque élément. S'il est omis, il est séparé par la virgule anglaise ', «par défaut.
Valeur de retour:
{String}: une chaîne épissée par chaque élément avec un sparateur en tant que séparateur.
Exemple:
La copie de code est la suivante:
['a', 'b', 'c']. join (); // => 'a, b, c'
['A', 'B', 'C']. JOIN ('-'); // => 'ab-c'
4.7 LastIndexof: Recherchez réversement des éléments correspondants dans un tableau. Si aucun élément correspondant n'existe, retournez -1. Utilisez l'opérateur "===" lors de la recherche, vous devez donc faire la distinction entre 1 et «1»
paramètre:
①Value: La valeur à trouver dans le tableau.
②Start: la position du numéro de séquence qui commence à rechercher. Si vous êtes omis, commencez à rechercher le dernier élément.
Valeur de retour:
{Int}: Commencez à trouver la première valeur de correspondance dans le tableau de droite à gauche. S'il n'existe pas, retournez -1
Exemple:
La copie de code est la suivante:
['a', 'b', 'c']. LastIndexof ('a'); // => 0
['a', 'b', 'c']. LastIndexof ('a', 1); // => 0
['A', 'B', 'C']. LastIndexof ('D'); // => -1
[1, 2, 3] .LastIndexof ('1'); // => -1: la méthode de correspondance '===' utilisée
4.8 map (): itérer et calculer chaque élément de séquence, et retournez le tableau calculé d'éléments
paramètre:
① fonction (valeur, index, self) {}: chaque élément appelle cette fonction à son tour pour renvoyer l'élément calculé
Valeur: l'élément de la traversée du tableau
Index: numéro d'élément
Soi: Array lui-même
Valeur de retour:
{Array} Un nouveau tableau contenant même de bons éléments
Exemple:
La copie de code est la suivante:
[1, 2, 3] .map (fonction (valeur, index, self) {
valeur de retour * 2;
}); // => [2, 4, 6]
4.9 POP (): Supprimer et retourner le dernier élément du tableau
Paramètres: aucun
Valeur de retour:
{Objet} Le dernier élément du tableau; Si le tableau est vide, retournez non défini
Exemple:
La copie de code est la suivante:
var démoarray = ['a', 'b', 'c'];
DemoArray.pop (); // => c
DemoArray.pop (); // => b
DemoArray.pop (); // => a
DemoArray.pop (); // => indéfini
4.10 push (): ajouter des éléments à la fin du tableau
paramètre:
①Value1, valeur2 ... Valuen: Ajoutez n'importe quel nombre de valeurs à la fin du tableau
Valeur de retour:
{int} La nouvelle longueur du tableau
Exemple:
La copie de code est la suivante:
var démoarray = ['a', 'b', 'c'];
DemoArray.push ('D'); // => 4, DemoArray: ['A', 'B', 'C', 'D']
DemoArray.push ('e', 'f'); // => 6, DemoArray: ['A', 'B', 'C', 'D', 'E', 'F']
Console.log (DemoArray); // => ['a', 'b', 'c', 'd', 'e', 'f']
4.11 Reverse (): Inversez l'ordre des éléments du tableau.
Paramètres: aucun
Valeur de retour: Aucun (Ordre de l'élément inversé dans le tableau d'origine).
Exemple:
La copie de code est la suivante:
var démoarray = ['a', 'b', 'c', 'd', 'e'];
DemoArray.reverse ();
Console.log (DemoArray); // => ["e", "d", "c", "b", "a"]
4.12 Shift (): Retirez et renvoyez le premier élément du tableau
Paramètres: aucun
Valeur de retour:
{Objet} Le premier élément du tableau; Si le tableau est vide, non défini est renvoyé.
Exemple:
La copie de code est la suivante:
var démoarray = ['a', 'b', 'c'];
DemoArray.shift (); // => a
DemoArray.shift (); // => b
DemoArray.shift (); // => c
DemoArray.shift (); // => indéfini
4.13 Slice (startIndex, endIndex): renvoie une partie du tableau.
paramètre:
① startIndex: le numéro de séquence au début; S'il s'agit d'un nombre négatif, cela signifie que le calcul commence à partir de la fin, -1 représente le dernier élément, -2 est le deuxième à durer, et ainsi de suite.
②endIndex: le dernier numéro de séquence de l'élément à la fin, s'il n'est pas spécifié, la fin est la fin. L'élément intercepté ne contient pas l'élément avec le numéro de séquence ici, et la fin est l'élément précédent avec le numéro de séquence ici.
Valeur de retour:
{Array} Un nouveau tableau contenant tous les éléments de StartIndex à l'élément précédent de Endindex.
Exemple:
La copie de code est la suivante:
[1, 2, 3, 4, 5, 6] .slice (); // => [1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6] .Slice (1); // => [2, 3, 4, 5, 6]: à partir du numéro de série 1
[1, 2, 3, 4, 5, 6] .Slice (0, 4); // => [1, 2, 3, 4]: intercepter l'élément du numéro de série 0 au numéro de série 3 (le précédent du numéro de série 4)
[1, 2, 3, 4, 5, 6] .slice (-2); // => [5, 6]: intercepter les 2 éléments suivants
4.14 Soi (OPT_OrderFunc): Triez selon certaines règles
paramètre:
① Opt_OrderFunc (v1, v2) {fonction}: fonction de règle de tri facultative. S'il est omis, les lettres de l'élément seront triées de petite à grande.
V1: L'élément précédent est traversé.
V2: Les éléments suivants sont traversés.
Règles de tri:
Comparez V1 et V2 et renvoyez un nombre pour représenter les règles de tri de v1 et v2:
Moins de 0: V1 est inférieur à V2, V1 est en avance sur V2.
Égal à 0: v1 est égal à v2, v1 est en avance sur v2.
Supérieur à 0: V1 est supérieur à V2, V1 est derrière V2.
Valeur de retour: aucune (opérations de tri dans le tableau d'origine).
Exemple:
La copie de code est la suivante:
[1, 3, 5, 2, 4, 11, 22] .Sort (); // => [1, 11, 2, 22, 3, 4, 5]: tous les éléments sont convertis en caractères, et les caractères de 11 sont avant 2
[1, 3, 5, 2, 4, 11, 22] .Sort (fonction (v1, v2) {
retour v1 - v2;
}); // => [1, 2, 3, 4, 5, 11, 22]: trié de petit à grand
[1, 3, 5, 2, 4, 11, 22] .Sort (fonction (v1, v2) {
return - (v1 - v2); // inverse, vous pouvez convertir de grand en petit
}); // => [22, 11, 5, 4, 3, 2, 1]
4.15 Splice (): Insérer et supprimer les éléments du tableau
paramètre:
① Démarrer {int}: le numéro de séquence de démarrage pour commencer à insérer, supprimer ou remplacer.
②DeleteCount {int}: le nombre d'éléments à supprimer, Calcul de démarrage depuis Start.
③Value1, Value2 ... Valuen {Object}: Paramètre facultatif, indiquant l'élément à insérer, et il commence à insérer à partir du début. Si le paramètre ② n'est pas 0, effectuez d'abord l'opération de suppression, puis effectuez l'opération d'insertion.
Valeur de retour:
{Array} Renvoie un nouveau tableau contenant des éléments supprimés. Si le paramètre ② est 0, cela signifie qu'aucun élément n'est supprimé et qu'un tableau vide est renvoyé.
Exemple:
La copie de code est la suivante:
// 1. Supprimer
var démoarray = ['a', 'b', 'c', 'd', 'e'];
var DemoArray2 = DemoArray.splice (0, 2); // Supprimer 2 éléments à partir de 0 du numéro de séquence et renvoyez un tableau contenant les éléments supprimés: ['A', 'B']
Console.log (DemoArray2); // => ['a', 'b']
Console.log (DemoArray); // => ['c', 'd', 'e']
// 2. Insérer
var démoarray = ['a', 'b', 'c', 'd', 'e'];
var DemoArray2 = DemoArray.splice (0, 0, '1', '2', '3'); // ② Le paramètre est 0, renvoie un tableau vide
Console.log (DemoArray2); // => []
Console.log (DemoArray); // => ['1', '2', '3', 'a', 'b', 'c', 'd', 'e']
// 3. Supprimer d'abord puis insérer
var démoarray = ['a', 'b', 'c', 'd', 'e'];
// Lorsque le paramètre ② n'est pas 0, puis effectuez d'abord l'opération de suppression (supprimer 4 éléments avec numéro de séquence à partir de 0, renvoyez un tableau contenant les éléments supprimés), puis effectuez l'opération d'insertion
var DemoArray2 = DemoArray.splice (0, 4, «1», «2», «3»);
Console.log (DemoArray2); // => ['a', 'b', 'c', 'd']
Console.log (DemoArray); // => ['1', '2', '3', 'a', 'b', 'c', 'd', 'e']
4.16 toString (): coudre tous les éléments du tableau en une chaîne à travers une virgule anglaise ','.
Paramètres: aucun
Valeur de retour:
{String} Tous les éléments du tableau sont épissés en une chaîne par une virgule anglaise ',' et retournés. Il en va de même d'appeler la méthode join () sans paramètres.
Exemple:
La copie de code est la suivante:
[1, 2, 3, 4, 5] .ToString (); // => '1,2,3,4,5'
['a', 'b', 'c', 'd', 'e']. toString (); // => 'a, b, c, d, e'
4.17 UNSHIFT (): Insérer un élément à la tête du tableau
paramètre:
①Value1, valeur2 ... valorisation: ajoutez n'importe quel nombre de valeurs à l'en-tête du tableau
Valeur de retour:
{int} La nouvelle longueur du tableau
Exemple:
La copie de code est la suivante:
var DemoArray = [];
DemoArray.unshift ('a'); // => DemoArray: ['a']
DemoArray.unShift ('B'); // => DemoArray: ['B', 'A']
DemoArray.unshift ('C'); // => DemoArray: ['C', 'B', 'A']
DemoArray.unshift ('D'); // => DemoArray: ['D', 'C', 'B', 'A']
DemoArray.unshift ('e'); // => DemoArray: ['e', 'D', 'C', 'B', 'A']
5. Méthode statique
5.1 array.isArray (): détermine si l'objet est un tableau
paramètre:
①Value {objet}: tout objet
Valeur de retour:
{Boolean} Renvoie le résultat du jugement. Lorsque cela est vrai, cela signifie que l'objet est un tableau; Lorsqu'il est faux, cela signifie que l'objet n'est pas un tableau
Exemple:
La copie de code est la suivante:
Array.isArray ([]); // => true
Array.isArray (['a', 'b', 'c']); // => true
Array.isArray ('a'); // => false
Array.isArray ('[1, 2, 3]'); // => false
6. Fonctionnement pratique
6.1 Index
Description: Chaque élément a une position dans le tableau, représenté par un nombre, appelé index. L'indice commence à partir de 0, c'est-à-dire que l'index du premier élément est 0, l'index du deuxième élément est 1, etc.
Lors de l'obtention d'un indice qui n'existe pas dans un tableau, un non-défini est renvoyé.
Exemple:
La copie de code est la suivante:
var démoarray = ['a', 'b', 'c', 'd', 'e'];
DemoArray [0]; // => Obtenez le premier élément: 'A'
DemoArray [0] = 1; // Définissez le premier élément sur 1
Console.log (DemoArray); // => DemoArray: [1, 'b', 'C', 'D', 'E']
Console.log (DemoArray [9]); // => UNDEFINED: RETOUR UNDEFINÉ Lorsque l'indice obtenu n'existe pas
6.2 pour les déclarations
Remarque: vous pouvez traverser le tableau un par un via la déclaration pour
Exemple:
La copie de code est la suivante:
var démoarray = ['a', 'b', 'c', 'd', 'e'];
pour (var i = 0, longueur = DemoArray.length; i <longueur; i ++) {
console.log (DemoArray [i]); // => Éléments de sortie dans le tableau un par un
}
6.3 Copie peu profonde
Remarque: le type de tableau est un type de référence; Lorsque le tableau A est copié sur le tableau B, la modification des éléments est effectuée sur le tableau B, et le tableau A sera également modifié.
Exemple:
La copie de code est la suivante:
var démonya = ['a', 'b', 'c', 'd', 'e'];
var DemoArrayB = DemoArraya; // Attribuez le tableau A au tableau B
DemoArrayB [0] = 1; // modifie les éléments du tableau b
Console.log (DemoArraya); // => [1, 'b', 'c', 'd', 'e']: les éléments du tableau A ont également changé
6.4 Copie profonde
Remarque: utilisez la méthode Concat () pour renvoyer un nouveau tableau; Empêcher la copie peu profonde, effectuer des opérations de modification des éléments sur le tableau B, et le tableau A ne changera pas.
Exemple:
La copie de code est la suivante:
var démonya = ['a', 'b', 'c', 'd', 'e'];
var DemoArrayB = DemoArraya.Concat (); // Utilisez la méthode Concat () pour renvoyer un nouveau tableau
DemoArrayB [0] = 1; // modifie les éléments du tableau b
Console.log (DemoArraya); // => [«a», «b», «c», «d», «e»]: les éléments du tableau A n'ont pas changé
Console.log (DemoArrayB); // => [1, 'b', 'c', 'd', 'e']: l'élément du tableau b a changé