Cet article vous présente le fonctionnement du tableau js de manière très détaillée. Les amis intéressés devraient étudier cet article ensemble.
1. Création du tableau
var arrayObj = new Array(); //Créer un tableau
var arrayObj = new Array([size]); //Créez un tableau et spécifiez la longueur. Notez qu'il ne s'agit pas de la limite supérieure, mais de la longueur
.
var arrayObj = new Array([element[, element[, ...[, elementN]]]]); //Créer un tableau et attribuer une valeur
Il convient de noter que bien que la deuxième méthode crée un tableau et spécifie la longueur, en fait le tableau est de longueur variable dans tous les cas, ce qui signifie que même si la longueur est spécifiée à 5, les éléments peuvent toujours être stocké à la longueur spécifiée. Sinon, veuillez noter : la longueur changera en conséquence.
2. Accès aux éléments du tableau
var testGetArrValue=arrayObj[]; //Obtenir la valeur de l'élément du tableau
arrayObj[]= "Ceci est une nouvelle valeur"; //Attribuer de nouvelles valeurs aux éléments du tableau
3.Ajout d'éléments de tableau
arrayObj. push([item [item [. . . [itemN ]]]]); // Ajoute un ou plusieurs nouveaux éléments à la fin du tableau et renvoie la nouvelle longueur du tableau
arrayObj.unshift([item [item [. . . [itemN ]]]]);// Ajoutez un ou plusieurs nouveaux éléments au début du tableau, les éléments du tableau sont automatiquement décalés vers l'arrière et la nouvelle longueur de le tableau est renvoyé
arrayObj.splice(insertPos,,[item[, item[, . . . [,itemN]]]]);//Insérez un ou plusieurs nouveaux éléments dans la position spécifiée du tableau, et l'élément à la position d'insertion sera être automatiquement reculé return"".
4. Suppression des éléments du tableau
arrayObj.pop(); //Supprime le dernier élément et renvoie la valeur de l'élément
arrayObj.shift(); //Supprime le premier élément et renvoie la valeur de l'élément. Les éléments du tableau sont automatiquement avancés
.
arrayObj.splice(deletePos,deleteCount); //Supprime le nombre spécifié d'éléments deleteCount à partir de la position spécifiée deletePos et renvoie les éléments supprimés sous forme de tableau
5. Interception et fusion de tableaux
arrayObj.slice(start, [end]); //Renvoie une partie du tableau sous la forme d'un tableau. Notez que l'élément correspondant à end n'est pas inclus. Si end est omis, tous les éléments après start le seront. être copié
arrayObj.concat([item[, item[, . . . [,itemN]]]]); //Concaténer plusieurs tableaux (peut également être des chaînes, ou un mélange de tableaux et de chaînes) en un seul tableau, renvoyer le nouveau connecté tableau
6. Copie du tableau
arrayObj.slice(); //Renvoie un tableau de copie du tableau. Notez qu'il s'agit d'un nouveau tableau, ne pointant pas vers
.
arrayObj.concat(); //Renvoie un tableau de copie du tableau. Notez qu'il s'agit d'un nouveau tableau, qui ne pointe pas vers
7. Tri des éléments du tableau
arrayObj.reverse(); //Inverse les éléments (du premier au dernier, le dernier au premier plan) et renvoie l'adresse du tableau
arrayObj.sort(); // Trie les éléments du tableau et renvoie l'adresse du tableau
8. Stringification des éléments du tableau
arrayObj.join(separator); //Renvoie une chaîne qui relie chaque valeur d'élément du tableau, séparées par un séparateur.
toLocaleString, toString, valueOf : peuvent être considérés comme une utilisation spéciale de la jointure, peu utilisée
2. Trois attributs des objets tableau
1. attribut de longueur
L'attribut Longueur représente la longueur du tableau, c'est-à-dire le nombre d'éléments qu'il contient. Étant donné que l'index d'un tableau commence toujours à 0, les limites supérieure et inférieure d'un tableau sont respectivement : 0 et longueur-1. Contrairement à la plupart des autres langages, la propriété length des tableaux JavaScript est variable, ce qui nécessite une attention particulière. Lorsque l'attribut de longueur est défini plus grand, l'état de l'ensemble du tableau ne change pas réellement, seul l'attribut de longueur devient plus grand lorsque l'attribut de longueur est défini plus petit que l'original, les éléments du tableau d'origine avec des index supérieurs ou égaux à ; length will Toutes les valeurs sont perdues. Voici un exemple illustrant la modification de l'attribut length :
var arr=[,,,,,,,,,];
//Définit un tableau contenant des nombres
alert(arr.length); //Afficher la longueur du tableau
arr.length=; //Augmente la longueur du tableau
alert(arr.length); //Affiche que la longueur du tableau est passée à
alert(arr[]); //Affiche la valeur du ème élément, qui est
arr.length=; //Réduisez la longueur du tableau à, les éléments dont les index sont égaux ou supérieurs sont supprimés
alert(arr[]); //Montre que l'élément n°1 est devenu "indéfini"
arr.length=; //Restaurer la longueur du tableau à
alert(arr[]); //Bien que la longueur soit restaurée, l'élément ne peut pas être récupéré et "undefined"
À partir du code ci-dessus, nous pouvons clairement voir la nature de l'attribut length. Mais l'objet length peut non seulement être défini explicitement, mais il peut également être modifié implicitement. Vous pouvez utiliser une variable non déclarée en JavaScript. De même, vous pouvez également utiliser un élément de tableau non défini (faisant référence à un élément avec un index supérieur ou égal à length). Dans ce cas, la valeur de l'attribut length sera définie sur . valeur de l'index de l'élément utilisé. Ajouter 1. Par exemple, le code suivant :
var arr=[,,,,,,,,,];
alert(arr.length);
arr[]=;
alert(arr.length);
Le code définit également d'abord un tableau contenant 10 nombres. Il ressort de l'instruction d'alerte que sa longueur est de 10. Ensuite, l'élément avec l'index 15 est utilisé et se voit attribuer la valeur 15, c'est-à-dire arr[15]=34. À ce stade, l'instruction alert est utilisée pour afficher la longueur du tableau et le résultat est 16. Quoi qu’il en soit, il s’agit d’une fonctionnalité surprenante pour les développeurs habitués à une programmation fortement typée. En fait, la longueur initiale d'un tableau créé à l'aide de new Array() est 0. C'est l'opération d'éléments non définis qui fait changer la longueur du tableau.
Comme vous pouvez le voir dans l'introduction ci-dessus, l'attribut length est tellement magique que vous pouvez l'utiliser pour augmenter ou diminuer facilement la capacité du tableau. Par conséquent, une compréhension approfondie de l’attribut length aidera à l’utiliser de manière flexible pendant le processus de développement.
2. Attribut du prototype
Renvoie une référence au prototype du type d'objet. La propriété prototype est commune à l’objet.
NomObjet.prototype
Le paramètre objectName est le nom de l'objet objet.
Description : utilisez l'attribut prototype pour fournir un ensemble de fonctions de base de la classe de l'objet. Les nouvelles instances d'un objet « héritent » des opérations assignées au prototype de l'objet.
Pour les objets tableau, l'exemple suivant illustre l'utilisation de l'attribut prototype.
Ajoutez une méthode à l'objet tableau pour renvoyer la valeur maximale de l'élément dans le tableau. Pour ce faire, déclarez une fonction, ajoutez-la à Array.prototype et utilisez-la.
function array_max() { var i, max = this[]; for (i = ; 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 contient la valeur maximale dans le tableau x, ou disons 6.
3. Attribut constructeur
représente une fonction qui crée un objet.
object.constructor //object est le nom de l'objet ou de la fonction.
Description : La propriété constructeur est membre de tous les objets avec prototype. Ils incluent tous les objets natifs JScript à l'exception des objets Global et Math. La propriété constructor contient une référence à la fonction qui construit une instance d'objet spécifique.
Par exemple :
x = new String("Hi"); if (x.constructor == String) // 进行处理(条件为真)。 或 function MyFunc { // 函数体。 } y = new MyFunc; if (y.constructor == MyFunc) // 进行处理(条件为真)
Pour les tableaux :
y = nouveau tableau();
Ce qui précède est la description complète de cet article, j'espère que vous l'aimerez tous.