Published on

Comment vider un tableau en Javascript

Il existe plusieurs façon de vider un tableau en Javascript, vous l'avez constater le besoin est simple mais les réponses peuvent être compliquées. Alors pourquoi existe-il plusieurs possibilités pour modifier un tableau ? Comment bien faire les choses en fonction de ses contraintes ?

Modifier un tableau en modifiant sa taille

Si votre besoin est de supprimer le dernier élémént d'un tableau en Javascript, voici la façon la plus simple pour supprimer le dernier élément du tableau.

let array = [1, 2, 3]
array.length = 2

console.log(array)
// [1, 2]

Dans cette exmple nous venons tout simplement modifier l'attribut length du tableau, conduisant Javascript à supprimer le dernier élément de celui-ci. Une solution très simple mais qui fonctionne à partir du moment ou vous allez tronquer le tableau, si ce n'est pas le cas vous allez vous retrouvez avec des undefined dans le delta de la longeur avant la manipulation et celle d'après.

Vider complétement un tableau Javascript

Vider un tableau dans son entièreté est un problème récurrent pour un développeur, il n'existe pas vraiment de fonction pour vider un tableau proprement en Javascript. Un des façons est de redéfinir le tableau comme un tableau vide, l'exemple ci-desous le montre bien, rien de plus simple qu'une assignation vide. Cela à pour effet de redéclarer un tableau vide, qui si besoin est d'avoir d'autre éléments en plus à ce moment.

let array = [1, 2, 3]
array = []

console.log(array)
// []

Rechercher et supprimer dans un tableau javascript

C'est peut être le besoin le plus utilisé quand il fut manipuler des tableaux en Javascript, comment rechercher une valeur dans un tableau, la supprimer et retourner le tableau sans cette valeur. Dans cette démarche il y a plusieurs chose à prendre en compte. La première est de savoir comment nous allons gérer le fait qu'il n'y ait pas la valeur demandé dans le tableau. La deuxième étapes à prendre en compte est de bien retourner le tableau avec l'élément supprimé.

let array = [1, 2, 3]
var index = array.indexOf(2)
if (index !== -1) {
  array.splice(index, 1)
}

console.log(myArray)
// [1, 3]

Cette méthode fonctionne, elle retourne bien notre tableau de base avec les deux valeurs restantes après la suppression du chiffre 2. Cela n'est pas très optimisé, il faut le transformer en une fonction que l'on va pouvoir réutiliser à souhait.

function findAndRemove(array, el) {
  var index = array.indexOf(el)
  if (index !== -1) {
    array.splice(index, 1)
  }

  return array
}

console.log(findAndRemove([1, 2, 3], 2))
// [1, 3]