Comment initialiser rapidement un tableau avec js
balise (séparée par des espaces) : call apply
Note version
Lors de l'écriture de code, il est généralement nécessaire d'initialiser rapidement un tableau. Par exemple, nous avons besoin d'un <. similaire celui de matlab>Fonction, si ici nous devons générer un tableau de 0 à 23 pour représenter 24 heures par jour. zeros
L'approche la plus basique est la suivante :
function(){ let hours = []; for(let k = 0; k < 24; k++ ) hours.push(k); return hours; }
Pensez à utiliser la méthode
+ new Array(24)
pour y parvenir. map
Le code est le suivant :
Array(24).map((_, h) => h);
ici est l'index, qui est rarement utilisé ici, l'index est utilisé comme valeur numérique. map
Les résultats ne sont pas à la hauteur des attentes, pourquoi ?
Après une brève recherche, j'ai découvert que cela était dû à la logique des tableaux clairsemés en js.
Jetons d'abord un coup d'œil au code suivant :
let a = []; a[1000] = 2; console.log(a.length);// 1000a.forEach(x => console.log("hello"));// only one "hello"
Supposons qu'une telle logique n'existe pas et que nous écrivions
, ce qui amènera le système à créer un très grand tableau, mais en réalité ne stockera rien. new Array(Date.now())
Nous pouvons simplement comprendre ce que
fait comme le processus suivant : new Array(len)
function(len){ let r = []; r.length = len; return r;
ou new Array(len)
sur map
est incompatible avec les attentes. forEach
Comment résoudre ce problème ? En plus d'utiliser le formulaire de
, nous pouvons également utiliser la méthode d'écriture de new Array(len)
pour initialiser le tableau, mais écrire de cette façon n'atteindra pas notre objectif d'écrire le tableau initialisé. . new Array(1,2,3)
À ce moment-là, nous avons pensé à
. Le deuxième paramètre de cette fonction se trouve être un tableau, nous avons donc écrit le code suivant. apply
// 借用apply Array.apply(null, Array(24)).map((_, h) => h); // [0, 1, ..., 24]
est traité comme 24 valeurs lorsqu'il est utilisé comme paramètre dans Array(24)
, car cela garantit que la longueur finale du tableau est de 24. apply
Dans ce cas, bien sûr, nous pouvons également utiliser la fonction sœur de
apply
. call
// 借用call Array.call(null, ...Array(24)).map((_, h) => h); // [0, 1... 23]
la déstructuration obtiendra Array(len)
paramètres au lieu d'un paramètre. Bien sûr, len
doit être utilisé dans un environnement qui prend en charge l'opérateur de déstructuration. call
et call
, nous pouvons écrire en outre le code suivant : apply
// Array本身 Array(...Array(24)).map((_, h) => h); // [0, 1, ..., 24]
De plus, dans
, ES6
fournit une nouvelle méthode Array
, qui peut être utilisée pour remplir ces bits « vacants » afin de garantir que les opérations ultérieures puissent se dérouler sans problème. fill
Le code spécifique est le suivant :
// 推荐 Array(24).fill(null).map((_, h) => h);
Cependant, vous devez faire attention à l'utilisation de la méthode
, et vous devriez essayer d'éviter le remplissage aveugle, car cela provoquerait les bugs mentionnés ci-dessus que la logique "vide" de js est conçue pour éviter. fill
Si vous êtes intéressé, vous pouvez essayer le code suivant :
// no-fillconsole.time("no-fill");let t = Array(5e7);console.timeEnd("no-fill");// fillconsole.time("fill");let q = Array(5e7).fill(null);console.timeEnd("fill");// => no-fill: 0.240ms// => fill: 3247.921ms
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

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)

Solution : 1. Réinstallez l'application ; 2. Réparez ou réinstallez la DLL ; 3. Restauration du système ou récupération du point de contrôle ; 4. Analysez à l'aide du vérificateur de fichiers système (SFC) ; Consultez la documentation officielle ou les forums ; 8. Envisagez un logiciel de sécurité ; 9. Vérifiez l'observateur d'événements ; 10. Demandez l'aide d'un expert, etc.

Le système win7 est un très excellent système hautes performances Lors de l'utilisation continue de win7, de nombreux amis demandent comment initialiser l'ordinateur dans win7 ! Aujourd'hui, l'éditeur vous expliquera comment restaurer les paramètres d'usine d'un ordinateur win7. Informations connexes sur la façon d'initialiser l'ordinateur dans Win7 : Instructions détaillées avec images et texte Étapes : 1. Ouvrez le « Menu Démarrer » et entrez. 2. Cliquez pour entrer les paramètres en bas du côté gauche. 3. Dans l'interface des paramètres de mise à jour et de récupération Win10, sélectionnez. 4. Cliquez ci-dessous « Supprimer tout le contenu et réinstaller Windows ». 5. Vous pouvez voir les paramètres « Initialisation » suivants, puis cliquez sur. 6. Entrez l'option de paramètre « Votre ordinateur dispose de plusieurs lecteurs ». Il existe deux options ici, que vous pouvez choisir en fonction de la situation.

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comparez SpringBoot et SpringMVC et comprenez leurs différences Avec le développement continu du développement Java, le framework Spring est devenu le premier choix pour de nombreux développeurs et entreprises. Dans l'écosystème Spring, SpringBoot et SpringMVC sont deux composants très importants. Bien qu'ils soient tous deux basés sur le framework Spring, il existe certaines différences dans les fonctions et l'utilisation. Cet article se concentrera sur la comparaison de SpringBoot et Spring

De nombreux joueurs ont rencontré le problème frustrant de l’échec du jeu à initialiser le système graphique. Cet article examinera les raisons courantes de ce problème et trouvera des solutions simples mais efficaces qui vous permettront de revenir sur le plateau et de battre le niveau en un rien de temps. Donc, si vous recevez un message d'erreur Impossible d'initialiser le système graphique dans Rollercoaster Tycoon, Assassin's Creed, Tony Hawk's Pro Skater, etc., suivez les solutions mentionnées dans cet article. Erreur d'initialisation Impossible d'initialiser le système graphique. Les cartes graphiques ne sont pas prises en charge. Corriger le message d'erreur Impossible d'initialiser le système graphique Pour résoudre l'erreur Impossible d'initialiser le système graphique dans des jeux comme Rollercoaster Tycoon, Assassin's Creed, Tony Hawk's Pro Skater, etc., vous pouvez essayer les solutions de contournement suivantes : Mettez à jour le pilote de votre carte graphique dans le mode de compatibilité

Le système win7 est un très excellent système hautes performances. Récemment, de nombreux amis du système win7 cherchent comment initialiser les paramètres réseau dans win7. Aujourd'hui, l'éditeur vous apporte les détails de l'initialisation du réseau informatique win7. au tutoriel. Tutoriel détaillé sur la façon d'initialiser les paramètres réseau dans Win7 : Étapes graphiques : 1. Cliquez sur le menu « Démarrer », recherchez et ouvrez le « Panneau de configuration », puis cliquez sur « Centre Réseau et partage ». 2. Ensuite, recherchez et cliquez sur « Modifier le périphérique adaptateur ». 3. Ensuite, dans la fenêtre qui s'ouvre, cliquez avec le bouton droit sur « Connexion au réseau local » puis cliquez sur « Propriétés ». 4. Après l'avoir ouvert, recherchez « Version du protocole Internet (TCP/IPv4) » et doublez

Quelle est la différence dans le chemin « Poste de travail » dans Win11 ? Un moyen rapide de le trouver ! Comme le système Windows est constamment mis à jour, le dernier système Windows 11 apporte également de nouvelles modifications et fonctions. L'un des problèmes courants est que les utilisateurs ne peuvent pas trouver le chemin d'accès à « Poste de travail » dans le système Win11. Il s'agissait généralement d'une opération simple dans les systèmes Windows précédents. Cet article présentera en quoi les chemins de « Poste de travail » sont différents dans le système Win11 et comment les trouver rapidement. Sous Windows1

Guide de création de sites Web WordPress : créez rapidement un site Web personnel Avec l'avènement de l'ère numérique, avoir un site Web personnel est devenu à la mode et nécessaire. En tant qu’outil de création de sites Web le plus populaire, WordPress rend la création d’un site Web personnel plus facile et plus pratique. Cet article vous fournira un guide pour créer rapidement un site Web personnel, y compris des exemples de code spécifiques. J'espère qu'il pourra aider les amis qui souhaitent avoir leur propre site Web. Étape 1 : Achetez un nom de domaine et un hébergement Avant de commencer à créer un site Web personnel, vous devez d'abord acheter le vôtre.
