JavaScript détermine si un objet est un tableau_javascript astuces
Cet article partage trois méthodes JavaScript pour déterminer si un objet est un tableau,
1. type de
La première chose à laquelle nous penserons est d'utiliser typeof pour détecter le type de données, mais pour les types de base tels que Function, String, Number, Undefined, etc., il peut être détecté en utilisant typeof Par exemple, le code est. comme suit :
function test(){} console.log(typeof 1); // number console.log(typeof test); // function console.log(typeof "yunxi"); // string console.log(typeof undefined); // undefined
Mais pour les tableaux ou les expressions régulières, utiliser typeof pour les détecter n'est pas satisfaisant, car lorsque nous détectons des tableaux ou des expressions régulières, le type renvoyé sera un objet, comme le montre le code suivant :
console.log(typeof []); // object console.log(typeof /\d+/g); // object
2. Instance de
À partir de là, nous pouvons facilement penser à utiliser instanceof pour détecter si un objet est une instance d'un tableau. Cette détection renverra un booléen, s'il s'agit d'un tableau, il retournera vrai, sinon il retournera faux ; à nouveau Le code ci-dessus pour détecter s'il s'agit d'un tableau est le suivant :
console.log([] instanceof Array); // true console.log(/\d+/g instanceof Array); // false
Comme vous pouvez le voir ci-dessus, l'utilisation de instanceof peut effectivement déterminer s'il s'agit d'un élément de tableau ;
3. Attribut constructeur
En JavaScript, chaque objet a un attribut constructeur, qui fait référence au constructeur qui initialise l'objet, comme déterminer le type d'un objet inconnu, on peut donc écrire une méthode comme suit, le code est le suivant :
function isArray(obj) { return typeof obj == 'object' && obj.constructor == Array } // 测试demo console.log(isArray([])); // true var a = {"a":1}; console.log(isArray(a)); // false var b = [1,2,3]; console.log(isArray(b)); // true console.log(isArray(/\d+/g));// false
Comme vous pouvez le voir ci-dessus, vous pouvez également déterminer s'il s'agit d'un élément de tableau en appelant la méthode isArray.
Nous pouvons maintenant voir que pour les deuxième et troisième points, il semble que l'utilisation respectivement de la méthode instanceof et de l'attribut constructor puisse déterminer s'il s'agit d'un tableau, mais il existe également des exceptions, comme lors de l'utilisation d'un tableau dans une page lors de l'utilisation d'un cross -frame iframe. , échouera car les tableaux créés dans différentes iframes ne partageront pas leurs attributs de prototype entre eux, le test de code suivant peut être vérifié~
;
var iframe = document.createElement('iframe'); document.body.appendChild(iframe); xArray = window.frames[window.frames.length-1].Array; var arr = new xArray("1","2","3","4","5"); //这个写法IE下是不支持的,标准浏览器firefox,chrome下有 console.log(arr); // 打印出 ["1", "2", "3", "4", "5"] console.log(arr instanceof Array); // false console.log(arr.constructor === Array); // false
Nous ne pouvons pas déterminer si un objet est un tableau avec les méthodes ci-dessus ; mais nous pouvons voir dans ECMA262 que nous pouvons utiliser la méthode Object.prototype.toString.call() pour déterminer si un objet est un tableau ; le code suivant :
function isArray(obj) { return Object.prototype.toString.call(obj) == '[object Array]'; } // 代码调用 console.log(isArray([])); // true console.log(isArray([1,2,3])); // true var iframe = document.createElement('iframe'); document.body.appendChild(iframe); xArray = window.frames[window.frames.length-1].Array; var arr = new xArray("1","2","3","4","5"); console.log(arr); // ["1","2","3","4","5"] console.log(isArray(arr)); // true
Ce qui précède représente l'intégralité du contenu de cet article pour vous aider à apprendre à déterminer si un objet est un tableau en JavaScript. J'espère que cela vous sera utile pour votre apprentissage.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La méthode d'utilisation d'une boucle foreach pour supprimer les éléments en double d'un tableau PHP est la suivante : parcourez le tableau, et si l'élément existe déjà et que la position actuelle n'est pas la première occurrence, supprimez-le. Par exemple, s'il existe des enregistrements en double dans les résultats de la requête de base de données, vous pouvez utiliser cette méthode pour les supprimer et obtenir des résultats sans enregistrements en double.

Les méthodes de copie approfondie de tableaux en PHP incluent : l'encodage et le décodage JSON à l'aide de json_decode et json_encode. Utilisez array_map et clone pour créer des copies complètes des clés et des valeurs. Utilisez Serialize et Unsérialize pour la sérialisation et la désérialisation.

La comparaison des performances des méthodes de retournement des valeurs de clé de tableau PHP montre que la fonction array_flip() fonctionne mieux que la boucle for dans les grands tableaux (plus d'un million d'éléments) et prend moins de temps. La méthode de la boucle for consistant à retourner manuellement les valeurs clés prend un temps relativement long.

Voici comment convertir un tableau de résultats de requête MySQL en objet : Créez un tableau d'objets vide. Parcourez le tableau résultant et créez un nouvel objet pour chaque ligne. Utilisez une boucle foreach pour attribuer les paires clé-valeur de chaque ligne aux propriétés correspondantes du nouvel objet. Ajoute un nouvel objet au tableau d'objets. Fermez la connexion à la base de données.

La meilleure pratique pour effectuer une copie complète d'un tableau en PHP consiste à utiliser json_decode(json_encode($arr)) pour convertir le tableau en chaîne JSON, puis à le reconvertir en tableau. Utilisez unserialize(serialize($arr)) pour sérialiser le tableau en chaîne, puis désérialisez-le en un nouveau tableau. Utilisez RecursiveIteratorIterator pour parcourir de manière récursive des tableaux multidimensionnels.

Le tri des tableaux multidimensionnels peut être divisé en tri sur une seule colonne et en tri imbriqué. Le tri sur une seule colonne peut utiliser la fonction array_multisort() pour trier par colonnes ; le tri imbriqué nécessite une fonction récursive pour parcourir le tableau et le trier. Les cas pratiques incluent le tri par nom de produit et le tri composé par volume de ventes et prix.

En PHP, un tableau est une séquence ordonnée et les éléments sont accessibles par index ; un objet est une entité avec des propriétés et des méthodes, créée via le mot-clé new. L'accès au tableau se fait via l'index, l'accès aux objets se fait via les propriétés/méthodes. Les valeurs du tableau sont transmises et les références d'objet sont transmises.

La fonction array_group_by de PHP peut regrouper des éléments dans un tableau en fonction de clés ou de fonctions de fermeture, renvoyant un tableau associatif où la clé est le nom du groupe et la valeur est un tableau d'éléments appartenant au groupe.
