Maison  >  Article  >  interface Web  >  Implémenter un tableau de fractions égales en JavaScript

Implémenter un tableau de fractions égales en JavaScript

coldplay.xixi
coldplay.xixiavant
2020-12-14 17:07:043761parcourir

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);       // []

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]

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];
<.>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]

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];

Obtenir le premier élément du tableau

list.slice().splice(0, 1) // [1]

Obtenir les 5 premiers éléments du tableau

list.slice().splice(0, 5) // [1, 2, 3, 4, 5]

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

list.slice().splice(5) // 6, 7, 8, 9]

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

list.slice().splice(-1)   // [9]

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

list.slice().splice(-3)   // [7, 8, 9]

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer