Table des matières
Comprendre les index de pagination standard
Implémenter l'indexation de la pagination inversée
Exemple de code d'index inversé
Choses à noter
Résumer
Maison interface Web js tutoriel Implémentation de l'affichage d'index de commande inverse des données paginées: une méthode de calcul générale

Implémentation de l'affichage d'index de commande inverse des données paginées: une méthode de calcul générale

Oct 06, 2025 pm 12:15 PM

Implémentation de l'affichage d'index de commande inverse des données paginées: une méthode de calcul générale

Cet article introduira en détail comment implémenter l'indexation des commandes inverses dans l'affichage des données paginées. Lorsque la pagination par défaut affiche les numéros de ligne dans l'ordre, il est parfois nécessaire d'organiser les index dans l'ordre inverse du total. En analysant les problèmes existants, nous proposerons une formule générale de calcul d'index: totalCount - ((page - 1) * limite) - index, et démontrer comment modifier la logique d'index via des exemples de code JavaScript pour atteindre facilement l'affichage d'index inverse requis, améliorant la flexibilité du rendu des données.

Comprendre les index de pagination standard

Lorsque vous traitez de grandes quantités de données, la pagination est une technique courante qui divise les données en blocs plus petits et facilement gérés (pages). Habituellement, chaque page a un indice incréments de 1, ce qui est continu entre les pages. Par exemple, si 5 éléments de données sont affichés par page, l'index de la première page est de 1 à 5, l'index de la deuxième page est de 6 à 10, etc.

Ce qui suit est un exemple de calcul de pagination et d'index JavaScript typique:

 const names = [
    "John", "Doe", "John", "Doe", "John",
    "Tim", "John", "Doe", "John", "Doe",
]]

Soit page = 1; // Numéro de page actuel LET LIMIT = 5; // Nombre de pièces affichées par page Soit totalCount = names.length || 0; // Nombre total de données // Fonction de pagination Pagination (tableau, page, limite) {
    return array.slice ((page - 1) * limite, page * limite);
}

const newArray = pagination (noms, page, limite);

// Traversé les données de la page actuelle et calculez l'index à terme newArray.ForEach ((item, index) => {
    // Formule de calcul d'index de transfert const idx = (page - 1) * limite (index 1);
    console.log ("idx:", idx, "|", "name:", item);
});

Lorsque page = 1, la sortie est la suivante:

 IDX: 1 | Nom: John
idx: 2 | Nom: DOE
idx: 3 | Nom: John
IDX: 4 | Nom: DOE
IDX: 5 | Nom: John

Lorsque page = 2, la sortie est la suivante:

 IDX: 6 | Nom: Tim
idx: 7 | Nom: John
IDX: 8 | Nom: DOE
IDX: 9 | Nom: John
IDX: 10 | Nom: DOE

Cette méthode d'indexation est intuitive et commune, mais parfois les exigences de l'entreprise nécessitent que l'index soit affiché dans l'ordre inverse.

Implémenter l'indexation de la pagination inversée

L'exigence d'indexation des commandes inverses signifie que, quelle que soit la page sur laquelle vous vous trouvez actuellement, l'index doit commencer à diminuer à partir de la valeur maximale du nombre total. Par exemple, pour un total de 10 données, 5 pièces par page:

  • La première page doit afficher les index 10, 9, 8, 7, 6.
  • La deuxième page doit afficher les index à 5, 4, 3, 2, 1.

Pour atteindre cet index inverse, nous devons ajuster la logique de calcul de l'index. Le noyau est que l'indice inverse de chaque élément peut être déterminé par sa position totale dans l'ensemble de données et la position relative de la page actuelle.

La nouvelle formule de calcul d'index est: idx = totalCount - ((page - 1) * limite) - index

Analysons en détail les différentes composantes de cette formule:

  • TotalCount: Il s'agit du nombre total de tous les éléments de l'ensemble de données, qui représente le point de départ (maximum) de l'indice inverse.
  • (Page - 1) * Limite: Cette pièce calcule le nombre total d'entrées dans toutes les pages avant la page actuelle. Par exemple, s'il s'agit actuellement de la première page (page = 1), alors cette valeur est 0; S'il s'agit actuellement de la deuxième page (page = 2), alors cette valeur est 1 * limite, c'est-à-dire le nombre d'entrées sur la première page. Il est utilisé pour déterminer le décalage de l'ordre inverse de démarrage de la page actuelle.
  • INDEX: Il s'agit de l'index basé sur le zéro de l'élément actuel dans la tranche de données de la page actuelle (c'est-à-dire le paramètre d'index fourni par la boucle foreach). Il indique la position relative de l'élément actuel dans la page actuelle.

En soustrayant le nombre total d'entrées avant la page actuelle de TotalCount et en soustrayant la position relative de l'élément actuel dans la page actuelle, nous pouvons obtenir avec précision la valeur d'index de l'élément dans l'ordre inverse global.

Exemple de code d'index inversé

Voici le code JavaScript complet qui applique la formule de calcul d'index inverse:

 const names = [
  "John", "Doe", "John", "Doe", "John",
  "Tim", "John", "Doe", "John", "Doe",
]]

Soit page = 1; // Numéro de page actuel LET LIMIT = 5; // Nombre de pièces affichées par page Soit totalCount = names.length || 0; // Nombre total de données // Fonction de pagination Pagination (tableau, page, limite) {
  return array.slice ((page - 1) * limite, page * limite);
}

const newArray = pagination (noms, page, limite);

// traverse les données de la page actuelle et calculez l'index de commande inverse newArray.ForEach ((item, index) => {
  // La formule pour l'index inverse de calcul const idx = totalCount - ((page - 1) * limite) - index;
  console.log ("idx:", idx, "|", "name:", item);
});

En utilisant le code ci-dessus, lorsque Page = 1, la sortie deviendra:

 IDX: 10 | Nom: John
IDX: 9 | Nom: DOE
IDX: 8 | Nom: John
idx: 7 | Nom: DOE
IDX: 6 | Nom: John

Lorsque page = 2, la sortie deviendra:

 IDX: 5 | Nom: Tim
IDX: 4 | Nom: John
idx: 3 | Nom: DOE
idx: 2 | Nom: John
IDX: 1 | Nom: DOE

Cela implémente parfaitement l'affichage d'index inverse dont nous avons besoin.

Choses à noter

  1. La précision de TotalCount: Assurez-vous que la variable TotalCount reflète toujours avec précision le nombre total réel d'entrées dans l'ensemble de données. Il s'agit de la pierre angulaire des calculs d'index inverse, et toute inexactitude conduira à des erreurs d'index.
  2. Généralité: Cette logique de calcul de l'indexation inverse est générale et ne se limite pas à JavaScript. Il convient à tout langage de programmation ou cadre qui prend en charge la pagination et la boucle via les données. Adaptez simplement la formule à la syntaxe correspondante.
  3. Index zéro par rapport à l'indice basé sur une seule base: dans la formule, l'index est l'indice basé sur le zéro du tableau (à partir de 0), tandis que TotalCount représente généralement le nombre total d'entrées (comptant à partir de 1). Cette formule a géré cette différence habilement sans ajustements supplémentaires.
  4. Expérience utilisateur: Dans certains scénarios, l'indexation des commandes inverses peut améliorer l'expérience utilisateur, par exemple lors de l'affichage des derniers commentaires ou articles ajoutés, permettant aux utilisateurs de voir le dernier contenu (indexé le plus élevé) en un coup d'œil.

Résumer

Grâce à des ajustements simples à la formule de calcul d'index, nous pouvons implémenter de manière flexible l'indexation d'index inverse dans l'affichage des données paginées. La transformation du traditionnel (page - 1) * limite (index 1) à TotalCount - ((page - 1) * limite) - L'index rend les méthodes de présentation des données plus diverses et peut répondre aux besoins commerciaux et aux préférences des utilisateurs différents. La compréhension et l'application de cette formule est une étape clé pour maîtriser les compétences avancées d'affichage de données de pagination.

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!

Déclaration de ce site Web
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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

JavaScript réalise l'effet de commutation d'image click-through: tutoriel professionnel JavaScript réalise l'effet de commutation d'image click-through: tutoriel professionnel Sep 18, 2025 pm 01:03 PM

Cet article présentera comment utiliser JavaScript pour réaliser l'effet de cliquer sur les images. L'idée principale est d'utiliser l'attribut Data- * de HTML5 pour stocker le chemin d'image alternatif et écouter des événements de clic via JavaScript, changez dynamiquement les attributs SRC, réalisant ainsi la commutation d'image. Cet article fournira des exemples de code et des explications détaillés pour vous aider à comprendre et à maîtriser cet effet interactif couramment utilisé.

Comment obtenir l'emplacement de l'utilisateur avec l'API Geolocation en JavaScript? Comment obtenir l'emplacement de l'utilisateur avec l'API Geolocation en JavaScript? Sep 21, 2025 am 06:19 AM

Tout d'abord, vérifiez si le navigateur prend en charge GeolocationAPI. Si vous êtes pris en charge, appelez getCurrentPosition () pour obtenir les coordonnées de l'emplacement actuelles de l'utilisateur et obtenir les valeurs de latitude et de longitude grâce à des rappels réussis. Dans le même temps, fournissez des exceptions de traitement des rappels d'erreur tels que l'autorisation de déni, l'indisponibilité de l'emplacement ou du délai d'attente. Vous pouvez également transmettre des options de configuration pour activer une précision élevée, définir le délai d'expiration et la période de validité du cache. L'ensemble du processus nécessite l'autorisation de l'utilisateur et la gestion des erreurs correspondante.

Pièges et solutions communes pour l'accès à l'élément DOM en JavaScript Pièges et solutions communes pour l'accès à l'élément DOM en JavaScript Sep 15, 2025 pm 01:24 PM

Cet article vise à résoudre le problème du retour null lors de l'obtention d'éléments DOM via document.getElementById () dans JavaScript. Le noyau consiste à comprendre le synchronisation d'exécution du script et l'état de l'analyse DOM. En plaçant correctement la balise ou en utilisant l'événement téléchargé DomContent, vous pouvez vous assurer que l'élément est à nouveau tenté lorsqu'il est disponible, en évitant efficacement de telles erreurs.

L'API de composition Nuxt 3 a expliqué L'API de composition Nuxt 3 a expliqué Sep 20, 2025 am 03:00 AM

L'utilisation du noyau de l'API de composition de Nuxt3 comprend: 1. DefinePageMeta est utilisée pour définir les méta-informations de la page, telles que le titre, la mise en page et le middleware, qui doivent être appelées directement et ne peuvent pas être placées dans des déclarations conditionnelles; 2. Usyhead est utilisé pour gérer les balises d'en-tête de page, prend en charge les mises à jour statiques et réactives et doit coopérer avec DefinePageMeta pour obtenir l'optimisation du référencement; 3. USEASYNCDATA est utilisé pour obtenir en toute sécurité des données asynchrones, gérer automatiquement l'état de chargement et d'erreur et prend en charge le contrôle d'acquisition de données du serveur et du client; 4. UseFetch est une encapsulation de usEasyncdata et $ fetch, qui dépente automatiquement la clé de demande pour éviter les demandes en double

Comment créer un intervalle répétitif avec SetInterval dans JavaScript Comment créer un intervalle répétitif avec SetInterval dans JavaScript Sep 21, 2025 am 05:31 AM

Pour créer un intervalle de répétition dans JavaScript, vous devez utiliser la fonction setInterval (), qui exécutera à plusieurs reprises des fonctions ou des blocs de code à des intervalles de millisecondes spécifiés. Par exemple, setInterval (() => {Console.log ("Exécuter toutes les 2 secondes");}, 2000) publiera un message toutes les 2 secondes jusqu'à ce qu'il soit effacé par ClearInterval (Interpalid). Il peut être utilisé dans les applications réelles pour mettre à jour les horloges, les serveurs de sondage, etc., mais faire attention à la limite de retard minimum et à l'impact du temps d'exécution de la fonction, et effacez l'intervalle dans le temps lorsqu'il n'est plus nécessaire pour éviter les fuites de mémoire. Surtout avant la désinstallation des composants ou la fermeture des pages, assurez-vous que

Comment créer une chaîne multi-lignes en JavaScript? Comment créer une chaîne multi-lignes en JavaScript? Sep 20, 2025 am 06:11 AM

ThebestatorreatEAmulti-linestringinjavascriptsisingstingTemplatalalswithbackticks, qui sepresereBreakenexactlyAswritten.

Formatage des nombres en javascript: utilisez la méthode TofixEd () pour conserver les décimales fixes Formatage des nombres en javascript: utilisez la méthode TofixEd () pour conserver les décimales fixes Sep 16, 2025 am 11:57 AM

Ce tutoriel explique en détail comment formater les numéros en chaînes avec deux décimales fixes en JavaScript, même les entiers peuvent être affichés sous la forme de "# .00". Nous nous concentrerons sur l'utilisation de la méthode numéro.prototype.tofixed (), y compris sa syntaxe, sa fonctionnalité, son exemple de code et des points clés à noter, comme son type de retour étant toujours une chaîne.

Comment copier du texte dans le presse-papiers en javascript? Comment copier du texte dans le presse-papiers en javascript? Sep 18, 2025 am 03:50 AM

Utilisez la méthode WriteText de ClipboardAPI pour copier du texte dans le presse-papiers, il doit être appelé dans le contexte de sécurité et l'interaction utilisateur, prend en charge les navigateurs modernes et l'ancienne version peut être dégradée avec EXECCOMAND.

See all articles