Maison > interface Web > js tutoriel > le corps du texte

Implémenter un tableau de fractions égales en JavaScript

coldplay.xixi
Libérer: 2020-12-14 17:07:04
avant
3762 Les gens l'ont consulté

La colonne

JavaScript présente comment implémenter des groupes de fractions égales

Implémenter un tableau de fractions égales en JavaScript

Recommandations d'apprentissage gratuites associées : javascript ( vidéo)

Dans ce tutoriel, nous apprendrons comment utiliser la méthode Array.splice() pour diviser un tableau en parties égales, et parlerons également des différences entre Array.splice() et Array.slice().

1. Divisez le tableau en deux parties égales

Nous pouvons diviser le tableau en deux moitiés en deux étapes :

  1. Utilisez length/2 et Math.ceil() méthodes pour trouver l'index du milieu d'un tableau

  2. Obtenez les parties également divisées d'un tableau en utilisant l'index du milieu et les Array.splice() méthodes

La fonction Math.ceil() renvoie le plus petit entier supérieur ou égal à un nombre donné. La méthode

const list = [1, 2, 3, 4, 5, 6];
const middleIndex = Math.ceil(list.length / 2);

const firstHalf = list.splice(0, middleIndex);   
const secondHalf = list.splice(-middleIndex);

console.log(firstHalf);  // [1, 2, 3]
console.log(secondHalf); // [4, 5, 6]
console.log(list);       // []
Copier après la connexion

Array.splice() modifie le contenu d'un tableau en supprimant, remplaçant ou ajoutant des éléments. La méthode Array.slice() fera d'abord une copie du tableau avant de fonctionner.

  • list.splice(0, middleIndex) Supprime le premier élément 0 du tableau à l'index 3 et le renvoie.
  • splice(-middleIndex)Supprime le dernier élément 3 du tableau et le renvoie.

A la fin de ces deux opérations, le tableau d'origine est vide puisque nous avons supprimé tous les éléments du tableau.

Notez également que dans le cas ci-dessus le nombre d'éléments est pair, si le nombre d'éléments est impair il y aura un élément supplémentaire dans la première moitié.

const list = [1, 2, 3, 4, 5];
const middleIndex = Math.ceil(list.length / 2);

list.splice(0, middleIndex); // returns [1, 2, 3]
list.splice(-middleIndex);   // returns [4, 5]
Copier après la connexion

2.Array.slice et Array.splice

Parfois, nous ne voulons pas changer le tableau d'origine. Cela peut être résolu avec Array.slice() :

const list = [1, 2, 3, 4, 5, 6];
const middleIndex = Math.ceil(list.length / 2);

const firstHalf = list.slice().splice(0, middleIndex);   
const secondHalf = list.slice().splice(-middleIndex);

console.log(firstHalf);  // [1, 2, 3]
console.log(secondHalf); // [4, 5, 6]
console.log(list);       // [1, 2, 3, 4, 5, 6];
Copier après la connexion
<.>On voit que le tableau d'origine reste inchangé car nous avons copié le tableau d'origine en utilisant

avant de supprimer les éléments en utilisant Array.slice(). Array.slice()

3. Divisez le tableau en trois parties égales

const list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const threePartIndex = Math.ceil(list.length / 3);

const thirdPart = list.splice(-threePartIndex);
const secondPart = list.splice(-threePartIndex);
const firstPart = list;     

console.log(firstPart);  // [1, 2, 3]
console.log(secondPart); // [4, 5, 6]
console.log(thirdPart);  // [7, 8, 9]
Copier après la connexion

Expliquez brièvement ce qui est fait ci-dessus :

  1. Utilisez d'abord

    pour extraire la ThirdPart , Il supprime les 3 derniers éléments st.splice(-threePartIndex) et à ce stade [7、8、9] ne contient que les 6 premiers éléments list. [1、2、3、4、5、6]

  2. Ensuite, la deuxième partie est extraite à l'aide de

    , qui supprime les 3 derniers éléments du list.splice(-threePartIndex) restant (c'est-à-dire [4, 5, 6]), et la liste is Contient uniquement les trois premiers éléments list = [1、2、3、4、5、6], qui sont [1、2、3]. firstPart

4. Plus d'utilisations de Array.splice()

Maintenant, jetons un coup d'œil à plus d'utilisations de Array.splice(), ici parce que je ne le fais pas. vous souhaitez modifier le tableau d'origine, donc Array.slice() est utilisé. Si vous souhaitez modifier le tableau d'origine, vous pouvez le supprimer.

const list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
Copier après la connexion

Obtenir le premier élément du tableau

list.slice().splice(0, 1) // [1]
Copier après la connexion

Obtenir les 5 premiers éléments du tableau

list.slice().splice(0, 5) // [1, 2, 3, 4, 5]
Copier après la connexion

Récupère tous les éléments après les 5 premiers éléments du tableau

list.slice().splice(5) // 6, 7, 8, 9]
Copier après la connexion

Récupère le dernier élément du tableau

list.slice().splice(-1)   // [9]
Copier après la connexion

Récupère les trois derniers éléments du tableau

list.slice().splice(-3)   // [7, 8, 9]
Copier après la connexion

Il est impossible de connaître les bugs possibles en temps réel après le déploiement du code. Afin de résoudre ces bugs par la suite, beaucoup de temps a été passé. sur le débogage des journaux, je voudrais vous en recommander un bon, Fundebug, un outil de surveillance des BUG.

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!

Étiquettes associées:
source:csdn.net
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal