Maison > interface Web > js tutoriel > Comment définir des objets de type tableau en javascript

Comment définir des objets de type tableau en javascript

醉折花枝作酒筹
Libérer: 2023-01-07 11:44:57
original
4029 Les gens l'ont consulté

La méthode de définition d'un objet de type tableau en JavaScript est la suivante : 1. Créez d'abord un objet vide ; 2. Définissez directement l'attribut d'indice numérique pour l'objet 3. Le point clé est de définir l'attribut de longueur et l'attribut d'épissure pour l'objet aux nombres et aux fonctions.

Comment définir des objets de type tableau en javascript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

Il existe de nombreux objets de type tableau dans js. Le concept simple est qu'ils ressemblent à des tableaux, mais ne sont pas des tableaux. Ils sont accessibles à l'aide d'indices numériques et il n'y a pas de méthodes de tableau.

Exemples : arguments, NodeList, HTMLCollection, jQuery, etc.

Caractéristiques des objets de type tableau

1 Posséder l'attribut de longueur

var a=document.getElementsByTagName("p");
a.__proto__;// HTMLCollection {} 属于类数组对象a.length;//62
Copier après la connexion

2 Vous pouvez utiliser des indices numériques pour accéder aux objets

a[0];//<p class="aspNetHidden">…</p>
Copier après la connexion

3. les prototypes ne peuvent pas être utilisés Méthodes (telles que slice, pop, etc.)

a.slice;//undefined Error!
a.pop;//undefined Error!
Copier après la connexion

4. L'utilisation de l'instance d'opération n'appartient pas à Array

[] instanceof Array;//true
a instanceof Array;//false
Copier après la connexion

5 Elle peut être convertie en un véritable objet tableau

var arr = Array.prototype.slice.call(a);
arr instanceof Array;//true
Copier après la connexion

PS : Remarque. que certains objets ne peuvent pas être convertis en un véritable objet tableau à l'aide de la méthode slice sous IE8.

Il est recommandé d'utiliser la méthode $.makeArray() fournie par jquery pour convertir des objets de type tableau

6 Habituellement, d'autres attributs personnalisés peuvent être définis

a.item;//function item() { [native code] }
Copier après la connexion

Avantages des objets de type tableau

J'y crois. Il n'est pas nécessaire de trop décrire les avantages. Laissez js et les autres langages back-end avoir le même mode de fonctionnement.

Par exemple, certaines collections de listes en C# sont accessibles à l'aide de l'indice numérique list[0] ou du nom de chaîne list['name'] pour accéder au même objet

Il dispose également de diverses méthodes personnalisées, vous pouvez le voir. un objet si merveilleux en regardant la méthode d'accès élégante de l'objet jquery.

Comment créer manuellement un objet de type tableau

Retour au sujet, comment créer manuellement un objet de type tableau.

1. Créez d'abord un objet vide

var array_like = {};//创建一个空对象
Copier après la connexion

2. Définissez directement les attributs d'indice numérique pour l'objet Ceci n'est absolument pas autorisé dans d'autres langages. Les attributs d'objet ne peuvent pas commencer par des nombres, mais c'est possible en JS, même en utilisant les deux chinois. et le chinois peuvent être utilisés

array_like[ 0 ] = "test 0";
array_like[ 1 ] = "test 1";
array_like[ 2 ] = "test 2";
array_like[ 3 ] = "test 3";
Copier après la connexion

3. Le point clé est de définir l'attribut de longueur et l'attribut d'épissure de l'objet sur des nombres et des fonctions

//关键点
array_like.length = 4;//为对象设置length属性
array_like.splice = [].splice;//同时设置splice属性为一个函数
Copier après la connexion

PS : Définir l'attribut d'épissure consiste en fait à tromper la console du navigateur et à afficher l'apparence de le tableau. Vous pouvez vous référer ici

4. Test

//设定自定义属性
array_like.test0=array_like[0];
array_like.test1=array_like[1];
//直接输出
console.log( array_like );//[&#39;test 0&#39;,&#39;test 1&#39;...]
//类型
console.log( $.type( array_like ) );//"object"
//数字下标访问
console.log( array_like[ 0 ] );//"test 0"
//自定义属性访问
array_like.test0;//"test 0"
//不是数组对象
array_like instanceof Array;//false
//转换为真数组对象
var Arr=Array.prototype.slice.call(array_like);
Arr instanceof Array;//true
Copier après la connexion

5 Tous les codes :

var array_like = {};

array_like[ 0 ] = "test 0";
array_like[ 1 ] = "test 1";
array_like[ 2 ] = "test 2";
array_like[ 3 ] = "test 3";

array_like.length = 4;
array_like.splice = [].splice;

console.log( array_like );
console.log( $.type( array_like ) );
console.log( array_like[ 2 ] );
Copier après la connexion

[Apprentissage recommandé : Tutoriel avancé javascript]

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal