Maison  >  Article  >  interface Web  >  Explication détaillée des opérations sur les tableaux javascript

Explication détaillée des opérations sur les tableaux javascript

高洛峰
高洛峰original
2017-02-06 10:09:341203parcourir

1. Création d'un tableau

var arrayObj = new Array(); //Créer un tableau
var arrayObj = new Array([size]); , Notez qu'il ne s'agit pas de la limite supérieure, mais de la longueur
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); Créez un tableau et attribuez 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, c'est-à-dire même si la longueur est spécifiée à 5 éléments. peut toujours être stocké en dehors de la longueur spécifiée. Remarque : à ce stade, la longueur changera en conséquence.

2. Accès aux éléments du tableau

var testGetArrValue=arrayObj[1]; //Obtenir la valeur de l'élément du tableau
arrayObj[1]= "Ceci est la nouvelle valeur" ; / /Attribuer de nouvelles valeurs aux éléments du tableau

3. Ajout d'éléments du tableau

arrayObj push([item1 [item2 [. . . [itemN ]]]]);// Mettez un ou plusieurs nouveaux éléments ajoutés à la fin du tableau, et la nouvelle longueur du tableau est renvoyée
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]); un ou plusieurs nouveaux éléments dans le tableau Au début, les éléments du tableau sont automatiquement reculés et la nouvelle longueur du tableau est renvoyée
arrayObj.splice(insertPos,0,[item1[, item2[, . . [,itemN]]]]);//Modifier un ou plusieurs Un nouvel élément est inséré à la position spécifiée du tableau, et l'élément à la position d'insertion est automatiquement déplacé vers l'arrière et "" est renvoyé.

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 devant An. element 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 dans array form

5. Interception et fusion de tableaux

arrayObj.slice(start, [end]); //Renvoie une partie du tableau sous la forme d'un tableau. l'élément correspondant à end n'est pas inclus. S'il est omis, end copiera tous les éléments après start
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); (peut également être des chaînes, ou des tableaux et une chaîne) sont connectés dans un tableau, renvoyant le nouveau tableau connecté

6 Copie du tableau

arrayObj.slice(0); le 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, ne pointant pas vers

7. Tri des éléments du tableau

arrayObj.reverse(); //Inversez les éléments (du premier au dernier, le dernier au premier plan), renvoie l'adresse du tableau

arrayObj. sort(); // Trie les éléments du tableau, renvoie l'adresse du tableau

8. Stringification des éléments du tableau

arrayObj.join(separator); valeur de l'élément du tableau ensemble, en utilisant un séparateur au milieu séparé.

toLocaleString, toString, valueOf : peuvent être considérés comme des utilisations spéciales de la jointure, peu utilisées

2. 3 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 qui montre la modification de l'attribut length :

var arr=[12,23,5,3,25,98,76,54,56,76];
//定义了一个包含10个数字的数组
alert(arr.length); //显示数组的长度10
arr.length=12; //增大数组的长度
alert(arr.length); //显示数组的长度已经变为12
alert(arr[8]); //显示第9个元素的值,为56
arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃
alert(arr[8]); //显示第9个元素已经变为"undefined"
arr.length=10; //将数组长度恢复为10
alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"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=[12,23,5,3,25,98,76,54,56,76];
alert(arr.length);
arr[15]=34;
alert(arr.length);
Le code définit également 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 la forme 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. L'attribut prototype

renvoie une référence au prototype du type d'objet. La propriété prototype est commune à l’objet.

objectName.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.

    对于数组对象,以以下例子说明prototype 属性的用途。

    给数组对象添加返回数组中最大元素值的方法。要完成这一点,声明一个函数,将它加入 Array.prototype, 并使用它。

function 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( );

该代码执行后,y 保存数组 x 中的最大值,或说 6。

3、constructor 属性

表示创建对象的函数。

object.constructor //object是对象或函数的名称。

说明:constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。

例如:

x = new String("Hi");
if (x.constructor == String) // 进行处理(条件为真)。

function MyFunc {
// 函数体。
}
y = new MyFunc;
if (y.constructor == MyFunc) // 进行处理(条件为真)。

小伙伴们看完之后是否对javascript数组的操作有了新的认识了呢,希望大家能够喜欢本文。

更多javascript 数组操作详解相关文章请关注PHP中文网!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn