L'ajout et la suppression des éléments du tableau JS ont été déroutants. Aujourd'hui, j'ai finalement trouvé la description détaillée. Je vais me donner un code pour le tester d'abord ^ - ^
La copie de code est la suivante:
var arr = new Array ();
arr [0] = "aaa";
arr [1] = "bbb";
arr [2] = "ccc";
//alert(arr.length) ;//3
arr.pop ();
//alert(arr.length) ;//2
//alert(arr[arr.length-1
arr.pop ();
//alert(arr[arr.length-1
//alert(arr.length) ;//1
var arr2 = new Array ();
//alert(arr2.length) ;//0
arr2 [0] = "aaa";
arr2 [1] = "bbb";
//alert(arr2.length) ;//2
arr2.pop ();
//alert(arr2.length) ;//1
arr2 = arr2.slice (0, arr2.length-1);
//alert(arr2.length) ;//0
arr2 [0] = "aaa";
arr2 [1] = "bbb";
arr2 [2] = "ccc";
arr2 = arr2.slice (0,1);
alerte (arr2.length); // 1
alerte (arr2 [0]); // aaa
alerte (arr2 [1]); // non défini
Shift: supprimez le premier élément du tableau d'origine et renvoyez la valeur de l'élément supprimé; Si le tableau est vide, retournez non défini
var a = [1,2,3,4,5];
var b = a.shift (); // a: [2,3,4,5] b: 1
Défense: Ajoutez le paramètre au début du tableau d'origine et renvoyez la longueur du tableau
var a = [1,2,3,4,5];
var b = a.unshift (-2, -1); // a: [-2, -1,1,2,3,4,5] b: 7
Remarque: La valeur de retour de test dans IE6.0 est toujours non définie, et la valeur de retour de test dans FF2.0 est 7, donc la valeur de retour de cette méthode n'est pas fiable. Lorsque vous devez utiliser la valeur de retour, vous pouvez utiliser Splice au lieu de cette méthode.
POP: supprimez le dernier élément du tableau d'origine et renvoyez la valeur de l'élément supprimé; Si le tableau est vide, retournez non défini
var a = [1,2,3,4,5];
var b = a.pop (); // a: [1,2,3,4] b: 5 // Si vous n'avez pas besoin de revenir, appelez-le directement
Push: Ajoutez le paramètre à la fin du tableau d'origine et renvoyez la longueur du tableau
var a = [1,2,3,4,5];
var b = a.push (6,7); // a: [1,2,3,4,5,6,7] b: 7
CONCAT: Renvoie un nouveau tableau, qui est composé d'ajout de paramètres au tableau d'origine.
var a = [1,2,3,4,5];
var b = a.concat (6,7); // a: [1,2,3,4,5] b: [1,2,3,4,5,6,7]
Splice (start, DeleteCount, Val1, Val2, ...): élément DeleteCount de la position de départ, et insérez Val1, Val2, ...
Lorsque vous nettoyez le tableau, passez simplement le startIndex.
Si tous les éléments ne sont pas supprimés, passez le paramètre DeleteCount.
Splice a également la fonction de supprimer d'abord, puis d'ajouter, c'est-à-dire de supprimer plusieurs éléments d'abord, puis d'ajouter plusieurs éléments à la position supprimée. Le nombre d'éléments supprimés et ajoutés ne doit pas être égal. À l'heure actuelle, DeleteCount est également utilisé.
var a = [1,2,3,4,5];
var b = a.splice (2,2,7,8,9); // a: [1,2,7,8,9,5] b: [3,4]
var b = a.splice (0,1); // même changement
a.splice (0,0, -2, -1); var b = a.Length; //
var b = a.splice (a.length-1,1); // même pop
A.Splice (A.Length, 0,6,7); var b = a.Length; // même poussée
Inverse: inverse le tableau
var a = [1,2,3,4,5];
var b = a.reverse (); // a: [5,4,3,2,1] b: [5,4,3,2,1]
Trie (OrderFunction): Triez le tableau par des paramètres spécifiés
var a = [1,2,3,4,5];
var b = a.sort (); // a: [1,2,3,4,5] b: [1,2,3,4,5]
Slice (start, fin): renvoie un nouveau tableau composé d'éléments de l'indice de démarrage spécifié à l'indice de fin dans le tableau d'origine.
var a = [1,2,3,4,5];
var b = a.slice (2,5); // a: [1,2,3,4,5] b: [3,4,5]
join (séparateur): regrouper les éléments du tableau en une chaîne, avec séparateur comme séparateur. Si vous êtes omis, utilisez les virgules comme séparateur par défaut.
var a = [1,2,3,4,5];
var b = a.join ("|"); // a: [1,2,3,4,5] b: "1 | 2 | 3 | 4 | 5"
Voici une autre façon d'utiliser un tableau pour simuler JavastringBuffer pour traiter les chaînes:
/ **
* Fonction de traitement des chaînes
* /
fonction stringbuffer () {
var arr = nouveau tableau;
this.append = fonction (str) {
arr [arr.length] = str;
};
this.toString = function () {
return arr.join (""); // ping le tableau qui ajoute en une chaîne
};
}
Aujourd'hui, j'ai soudainement découvert que JOIN est un bon moyen de convertir les tableaux en chaînes dans l'application, donc je les ai encapsulés en objets et utilisé:
/ **
* Convertir les tableaux en chaînes divisées par des symboles spécifiques
* /
fonction arraytoString (arr, séparateur) {
si (! séparateur) séparateur = ""; // Si le séparateur est nul, il sera vide par défaut
return arr.join (séparateur);
}
/ **
* Trouvez la chaîne contenue dans le tableau
* /
fonction arrayFindString (arr, string) {
var str = arr.join ("");
return str.indexof (string);
}