Maison  >  Article  >  interface Web  >  Javascript connecte plusieurs tableaux sans concat pour résoudre le problème_javascript skills

Javascript connecte plusieurs tableaux sans concat pour résoudre le problème_javascript skills

WBOY
WBOYoriginal
2016-05-16 16:54:291059parcourir

La première méthode est la célèbre concat, mais une chose est sûre à propos de cette méthode est qu'elle ne modifiera pas le tableau existant, mais renverra uniquement une copie du tableau connecté.

Si on veut juste ajouter les éléments d'un nouveau tableau au tableau existant, il faut le réaffecter. En fait, il y a un petit gaspillage de ressources. Pour faire simple, nous devons allouer un nouvel espace mémoire pour le tableau nouvellement créé et rediriger arr1 vers cette nouvelle adresse mémoire. Alors qu'en est-il du tableau d'origine en mémoire Hehe, cela dépend si le navigateur peut le recycler correctement.

L'exemple suivant :

Copiez le code Le code est le suivant :

var arr1 = [1,2,3];
var arr1 = arr1.concat([4,5]);

Avons-nous donc un bon moyen d'éviter cette ressource consommation?

Ici, vous pouvez utiliser la méthode d'application native de Javascript pour y parvenir. Regardez d'abord le code suivant :
Copiez le code Le code est le suivant :
var arr1= [1,2,3]
arr1.push.apply(arr1,[4,5]); >

Ça y est, cette méthode utilise intelligemment les caractéristiques de la méthode apply (le deuxième paramètre est constitué de plusieurs types de tableaux) pour libérer la méthode push. La méthode push ne peut transmettre que plusieurs valeurs d'elle-même. à un tableau. Le code ci-dessus est en fait équivalent à


arr1.push(4,5) ;


De cette façon, arr1 est toujours le même arr1, mais la mémoire a été réécrite, sans redirection ni débordement de mémoire inutile.
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