Éviter JSON pour la copie profonde en JavaScript

Retour d'expérience avec de grands volumes de données

Explications

Lorsqu’on veut faire de la copie profonde (deep cloning) en JavaScript, une solution qui revient souvent est l’utilisation de JSON.parse(JSON.stringify(…)), car simple et historique.

Cette solution a deux inconvénients :

  • certains types de données ne sont pas ou pas correctement convertis
  • une certaine lenteur

J’ai expérimenté ce second point avec des tableaux de milliers de données en travaillant sur Vue.js. En essayant avec une autre solution, la fonction structuredClone ou encore cloneDeep de lodash, les performances ont été considérablement améliorées.

Voir également cet article sur medium.


2 commentaires

Bon sang, je suis pourtant sûr qu’on a déjà eu un billet là-dessus ? Je n’arrive pas à remettre la main dessus

Moté

Oui, je l’avais dépublié et je le remets. Il y avait eu pas mal de commentaires intéressants en plus

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte