


Résumé des exemples d'utilisation de certaines fonctions de tableau couramment utilisées en JavaScript
Fonctions de tableau communes
concat
Ajoute un tableau après le tableau existant et renvoie le nouveau tableau sans affecter le tableau existant :
var a = [123]; var b = "sunnycat"; var c = ["www",21,"ido"]; var d = {x:3.14, y:"SK"}; var e = [1,2,3,4,[5,6,[7,8]]]; alert(a.concat(b)); // -> 123,sunnycat alert(a); // -> 123 alert(b.concat(c, d)); // -> sunnycatwww,21,ido[object Object] alert(c.concat(b)); // -> www,21,ido,sunnycat alert(e.concat(11,22,33).join(" # ")); // -> 1 # 2 # 3 # 4 # 5,6,7,8 # 11 # 22 # 33
Il est à noter qu'il ne peut être utilisé que pour des tableaux ou des chaînes. Si le connecté (un devant) est une valeur numérique, une valeur booléenne ou un objet, une erreur sera signalée lorsque les chaînes. sont connectés à des tableaux, des caractères La chaîne sera épissée avec le premier élément du tableau pour former un nouvel élément, et la chaîne de connexion du tableau ajoutera de nouveaux éléments (je n'en connais pas la raison, veuillez divulguer si vous savoir). Pour les tableaux contenant des tableaux et des objets, ils resteront tels quels après la connexion.
rejoindre
Connectez les tableaux avec les séparateurs spécifiés pour convertir les tableaux en chaînes :
var a = ['a','b','c','d','e','f','g']; lert(a.join(",")); // -> a,b,c,d,e,f,g 相当于a.toString() alert(a.join(" x ")); // -> a x b x c x d x e x f x g
C'est facile à comprendre, mais vous avez besoin faire attention Le but est de convertir uniquement le tableau unidimensionnel. S'il y a un tableau dans le tableau, la connexion de chaîne spécifiée par join ne sera pas utilisée, mais la valeur par défaut toString() sera utilisée, comme
.var a = ['a','b','c','d','e','f','g',[11,22,33]]; alert(a.join(" * ")); // -> a * b * c * d * e * f * g * 11,22,33
Remarque : dans le tableau Array, la *concaténation ne sert à rien
pop
pour supprimer le dernier élément du tableau et renvoyer le element
var a = ["aa","bb","cc"]; document.write(a.pop()); // -> cc document.write(a); // -> aa, bb
Remarque : Si le tableau est vide, undefined
push
ajoute un tableau à la fin du tableau et renvoie la nouvelle longueur du tableau. La différence entre
var a = ["aa","bb","cc"]; document.write(a.push("dd")); // -> 4 document.write(a); // -> aa,bb,cc,dd document.write(a.push([1,2,3])); // -> 5 document.write(a); // -> aa,bb,cc,dd,1,2,3
et concat est que, concat n'affecte pas le tableau d'origine et renvoie directement le nouveau tableau, tandis que push modifie directement le tableau d'origine et renvoie la nouvelle longueur. du tableau
tri
Tri du tableau, regardons-le d'abord Exemple
var a = [11,2,3,33445,5654,654,"asd","b"]; alert(a.sort()); // -> 11,2,3,33445,5654,654,asd,b
Le résultat n'est-il pas surprenant ? le tri ne se fait pas par taille entière, mais par comparaison de chaînes, qui consiste à comparer le code ANSI du premier caractère. Les plus petits sont classés en premier. Si c'est le cas, prenez le deuxième caractère et comparez. comparez par valeur entière, vous pouvez le faire
var a = [11,2,3,33445,5654,654]; a.sort(function(a,b) { return a - b; }); alert(a); // -> 2,3,11,654,5654,33445
La méthode sort() a un paramètre facultatif, qui est la fonction dans le code. Ceci est un exemple simple. Les non-nombres ne peuvent pas être triés. -les nombres nécessitent plus de jugement. Je n'entrerai pas dans les détails ici
reverse
Le tri inversé d'un tableau est identique à sort(). valeur du premier caractère à comparer
var a = [11,3,5,66,4]; alert(a.reverse()); // -> 4,66,5,3,11
Si le tableau contient également un tableau, il sera traité comme un objet et les éléments ne seront pas extraits.
var a = ['a','b','c','d','e','f','g',[4,11,33]]; alert(a.reverse()); // -> 4,11,33,g,f,e,d,c,b,a alert(a.join(" * ")); // -> 4,11,33 * g * f * e * d * c * b * a
Il devrait être 11 Classé dernier, car 4,11,33 sont comparés ici comme des objets complets, donc ils sont classés en premier
Si vous ne comprenez pas, utilisez join() pour les enchaîner, ce sera beaucoup plus clair
shift
Supprime le premier élément du tableau et renvoie l'élément, similaire à pop
var a = ["aa","bb","cc"]; document.write(a.shift()); // -> aa document.write(a); // -> bb,cc
Remarque : lorsque le tableau est vide, non défini
unshift
L'opposé de shift, ajoute des éléments au début du tableau et renvoie la nouvelle longueur du tableau
var a = ["aa","bb","cc"]; document.write(a.unshift(11)); // -> 4 注:IE下返回undefined document.write(a); // -> 11,aa,bb,cc document.write(a.unshift([11,22])); // -> 5 document.write(a); // -> 11,22,11,aa,bb,cc document.write(a.unshift("cat")); // -> 6 document.write(a); // -> cat,11,22,11,aa,bb,cc
Notez que cette méthode retournera undefined sous IE , cela ressemble à un bug Microsoft, mais je peux utiliser correctement la nouvelle longueur du tableau dans Firefox
slice
pour renvoyer le fragment de tableau
var a = ['a','b','c','d','e','f','g']; alert(a.slice(1,2)); // -> b alert(a.slice(2)); // -> c,d,e,f,g alert(a.slice(-4)); // -> d,e,f,g alert(a.slice(-2,-6)); // -> 空
a. slice(1,2), commençant de l'indice 1 jusqu'au nombre entre l'indice 2, notez que l'élément avec l'indice 2 n'est pas inclus
S'il n'y a qu'un seul paramètre , la valeur par défaut est la fin du tableau
-4 signifie le 4ème élément à partir du bas, donc les quatre éléments du bas sont renvoyés
La dernière ligne commence à partir du 2ème à partir du bas Parce qu'elle est interceptée vers l'arrière. , il est évident que les éléments précédents ne peuvent pas être obtenus, donc un tableau vide est renvoyé Si Changez en a.slice(-6,-2) et retournez b,c,d,e
. splice
supprime les éléments d'un segment du tableau et renvoie les éléments supprimés
var a = [1,2,3,4,5,6,7,8,9]; document.write(a.splice(3,2)); // -> 4,5 document.write(a); // -> 1,2,3,6,7,8,9 document.write(a.splice(4)); // -> 7,8,9 注:IE下返回空 document.write(a); // -> 1,2,3,6 document.write(a.splice(0,1)); // -> 1 document.write(a); // -> 2,3,6 document.write(a.splice(1,1,["aa","bb","cc"])); // -> 3 document.write(a); // -> 2,aa,bb,cc,6,7,8,9 document.write(a.splice(1,2,"ee").join("#")); // -> aa,bb,cc#6 document.write(a); // -> 2,ee,7,8,9 document.write(a.splice(1,2,"cc","aa","tt").join("#")); // -> ee#7 document.write(a); // -> 2,cc,aa,tt,8,9
Notez que le deuxième paramètre de cette méthode est obligatoire sous IE S'il n'est pas renseigné, sa valeur par défaut est 0, comme a.splice(4). Sous IE, il renvoie vide. L'effet Équivalent à a.splice(4,0)
toString
Convertir un tableau en chaîne, pas seulement des tableaux, tous les objets peuvent utiliser cette méthode
var a = [5,6,7,8,9,["A","BB"],100]; document.write(a.toString()); // -> 5,6,7,8,9,A,BB,100 var b = new Date() document.write(b.toString()); // -> Sat Aug 8 17:08:32 UTC+0800 2009 var c = function(s){ alert(s); } document.write(c.toString()); // -> function(s){ alert(s); }
La valeur booléenne renvoie vrai ou faux, l'objet renvoie [object objectname]
Par rapport à la méthode join(), join() remplace uniquement le tableau unidimensionnel, tandis que toString() remplace l'ensemble du tableau (qu'il soit unidimensionnel ou multidimensionnel) complètement planarisé
En même temps, cette méthode peut être utilisée pour décimal, binaire, octal , et conversion hexadécimale, par exemple :
var a = [5,6,7,8,9,"A","BB",100]; for(var i=0; i<a.length; i++){ document.write(a[i].toString() + " 的二进制是 " + a[i].toString(2) + " ,八进制是 " + a[i].toString(8) + " ,十六进制是 " + a[i].toString(16)); // -> 4,5 }
Résultat de sortie :
5 的二进制是 101 ,八进制是 5 ,十六进制是 5 6 的二进制是 110 ,八进制是 6 ,十六进制是 6 7 的二进制是 111 ,八进制是 7 ,十六进制是 7 8 的二进制是 1000 ,八进制是 10 ,十六进制是 8 9 的二进制是 1001 ,八进制是 11 ,十六进制是 9 A 的二进制是 A ,八进制是 A ,十六进制是 A BB 的二进制是 BB ,八进制是 BB ,十六进制是 BB 100 的二进制是 1100100 ,八进制是 144 ,十六进制是 64
La conversion ne peut être effectuée que sur les éléments. Si l'ensemble du tableau est converti, le tableau sera renvoyé inchangé.
toLocaleString
Retour au format local String, principalement utilisé sur les objets Date
var a = new Date(); document.write(a.toString()); // -> Sat Aug 8 17:28:36 UTC+0800 2009 document.write(a.toLocaleString()); // -> 2009年8月8日 17:28:36 document.write(a.toLocaleDateString()); // -> 2009年8月8日
La différence est que toString() renvoie le format standard , et toLocaleString() renvoie la date complète au format local (dans [Panneau de configuration]>>[Region and Language Option], en modifiant le format [time] et [long date]), toLocaleDateString() est identique à toLocaleString (), sauf qu'il manque l'heure
valueOf
selon différentes valeurs originales. Lorsqu'il est utilisé pour la sortie, il est similaire à toString(). , mais toString() renvoie le type de chaîne et valueOf() renvoie le type d'objet d'origine
var a = [1,2,3,[4,5,6,[7,8,9]]]; var b = new Date(); var c = true; var d = function(){ alert("sunnycat"); }; document.write(a.valueOf()); // -> 1,2,3,4,5,6,7,8,9 document.write(typeof (a.valueOf())); // -> object document.write(b.valueOf()); // -> 1249874470052 document.write(typeof(b.valueOf())); // -> number document.write(c.valueOf()); // -> true document.write(typeof(c.valueOf())); // -> boolean document.write(d.valueOf()); // -> function () { alert("sunnycat"); } document.write(typeof(d.valueOf())); // -> function
Les tableaux sont également des objets, donc typeof ( a.valueOf()) renvoie un objet, qui est toujours un. tableau multidimensionnel
var a = [1,2,3,[4,5,6,[7,8,9]]]; var aa = a.valueOf(); document.write(aa[3][3][1]); // -> 8
L'objet Date renvoie le nombre de millisecondes depuis le 1er janvier 1970. Les objets Math et Error n'ont pas la méthode valueOf.
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!

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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Le langage Go propose deux technologies de création de fonctions dynamiques : la fermeture et la réflexion. les fermetures permettent d'accéder aux variables dans la portée de la fermeture, et la réflexion peut créer de nouvelles fonctions à l'aide de la fonction FuncOf. Ces technologies sont utiles pour personnaliser les routeurs HTTP, mettre en œuvre des systèmes hautement personnalisables et créer des composants enfichables.

Dans la dénomination des fonctions C++, il est crucial de prendre en compte l’ordre des paramètres pour améliorer la lisibilité, réduire les erreurs et faciliter la refactorisation. Les conventions courantes d'ordre des paramètres incluent : action-objet, objet-action, signification sémantique et conformité de la bibliothèque standard. L'ordre optimal dépend de l'objectif de la fonction, des types de paramètres, de la confusion potentielle et des conventions du langage.

La clé pour écrire des fonctions Java efficaces et maintenables est la suivante : restez simple. Utilisez un nom significatif. Gérer des situations particulières. Utilisez une visibilité appropriée.

1. La fonction SOMME permet de sommer les nombres d'une colonne ou d'un groupe de cellules, par exemple : =SOMME(A1:J10). 2. La fonction MOYENNE permet de calculer la moyenne des nombres dans une colonne ou un groupe de cellules, par exemple : =AVERAGE(A1:A10). 3. Fonction COUNT, utilisée pour compter le nombre de nombres ou de texte dans une colonne ou un groupe de cellules, par exemple : =COUNT(A1:A10) 4. Fonction IF, utilisée pour effectuer des jugements logiques basés sur des conditions spécifiées et renvoyer le résultat correspondant.

Les avantages des paramètres par défaut dans les fonctions C++ incluent la simplification des appels, l’amélioration de la lisibilité et l’évitement des erreurs. Les inconvénients sont une flexibilité limitée et des restrictions de dénomination. Les avantages des paramètres variadiques incluent une flexibilité illimitée et une liaison dynamique. Les inconvénients incluent une plus grande complexité, des conversions de types implicites et des difficultés de débogage.

Les avantages des fonctions renvoyant des types référence en C++ incluent : Améliorations des performances : le passage par référence évite la copie d'objets, économisant ainsi de la mémoire et du temps. Modification directe : L'appelant peut modifier directement l'objet de référence renvoyé sans le réaffecter. Simplicité du code : le passage par référence simplifie le code et ne nécessite aucune opération d'affectation supplémentaire.

La différence entre les fonctions PHP personnalisées et les fonctions prédéfinies est la suivante : Portée : les fonctions personnalisées sont limitées à la portée de leur définition, tandis que les fonctions prédéfinies sont accessibles tout au long du script. Comment définir : les fonctions personnalisées sont définies à l'aide du mot-clé function, tandis que les fonctions prédéfinies sont définies par le noyau PHP. Passage de paramètres : les fonctions personnalisées reçoivent des paramètres, tandis que les fonctions prédéfinies peuvent ne pas nécessiter de paramètres. Extensibilité : des fonctions personnalisées peuvent être créées selon les besoins, tandis que les fonctions prédéfinies sont intégrées et ne peuvent pas être modifiées.

La gestion des exceptions en C++ peut être améliorée grâce à des classes d'exceptions personnalisées qui fournissent des messages d'erreur spécifiques, des informations contextuelles et effectuent des actions personnalisées en fonction du type d'erreur. Définissez une classe d'exception héritée de std::exception pour fournir des informations d'erreur spécifiques. Utilisez le mot-clé throw pour lancer une exception personnalisée. Utilisez Dynamic_cast dans un bloc try-catch pour convertir l'exception interceptée en un type d'exception personnalisé. Dans le cas réel, la fonction open_file lève une exception FileNotFoundException. La capture et la gestion de l'exception peuvent fournir un message d'erreur plus spécifique.
