Maison >interface Web >js tutoriel >Problème de réconciliation de liste
Dans le développement Web Frontend, il s'agit d'un processus de différenciation des versions source et cible d'une liste de dépendances (qui crée une liste d'éléments rendus) pour dites ce qui arrive aux éléments : ajoutés, supprimés ou déplacés.
Les deux premiers ne posent pas de problème, mais le problème est de savoir si un élément a été déplacé
Si la valeur d'un élément suivi est 1 dans une liste de [2, 1, 3], qu'arrive-t-il à la valeur si la liste est réorganisée comme [1, 2, 3].
Vous ne pouvez pas savoir s'il y a eu de nombreuses opérations qui ont abouti à un nouveau tableau ou, par ex. seulement un. Vous devez le comprendre d'une manière différente.
Eh bien, cela n'a peut-être pas d'importance à moins qu'il ne s'agisse d'un frontend... Principalement parce que les développeurs veulent des performances et une cohérence pour les utilisateurs.
Imaginez que vous ayez 50 albums de musique, alors que vous n'en voyez que 10 préextraits, vous en recherchez un spécifique par son nom, ce qui déclenche une demande de récupération avec 10 autres albums trouvés.
Maintenant, comment savoir si vous devez créer plus d'éléments HTML, supprimer les éléments redondants ou réorganiser ceux existants ?
Et c'est un vrai problème, si vous vous trompez, vous repartez avec de nombreux problèmes :
C'est parti : vous rencontrez des problèmes de cohérence et de performances, les utilisateurs n'auront pas de plaisir à utiliser votre site Web.
Il existe différentes solutions, mais elles ont toutes leurs propres limites, il n'existe pas de moyen idéal pour y parvenir.
Fondamentalement, ils vous obligent (généralement) à mettre un attribut clé pour chaque élément afin que l'algorithme de réconciliation puisse facilement déterminer si l'élément doit être réutilisé, supprimé ou s'il n'existe pas et nécessite une création.
Il existe une autre façon, qui consiste à parcourir les données et à comparer ce qui a été modifié et à quoi appartient l'élément.
Même GitHub et Git ne parviennent pas toujours à indiquer avec précision la différence entre les lignes ajoutées et supprimées de vos fichiers...
Bien sûr, vous pouvez éviter la réconciliation en gérant manuellement vos éléments, mais vous devrez créer votre propre architecture personnalisée pour cela, vous finirez souvent par reconstruire toute la liste des éléments sans réutilisation.
Vous pouvez tirer vos propres conclusions.
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!