Comment supprimer un élément d'un tableau dans JavaScript?
var arr = [1,2,3,5,6];
je veux supprimer le 1er élément du tableau pour qu'il devienne:
var arr = [2,3,5,6];
pour étendre cette question, Que faire si je veux supprimer le 2ème élément du tableau pour qu'il devienne:
var arr = [1,3,5,6];
9 réponses
pour une solution plus flexible, utilisez la fonction splice()
. Il vous permet de supprimer n'importe quel élément dans un tableau basé sur la valeur D'Index:
var indexToRemove = 0;
var numberToRemove = 1;
arr.splice(indexToRemove, numberToRemove);
shift()
est idéal pour votre situation. shift()
supprime le premier élément d'un tableau et renvoie cet élément. Cette méthode modifie la longueur du tableau.
array = [1, 2, 3, 4, 5];
array.shift(); // 1
array // [2, 3, 4, 5]
Le Array.prototype.shift
méthode supprime le premier élément d'un tableau, et le renvoie. Il modifie le tableau d'origine.
var a = [1,2,3]
// [1,2,3]
a.shift()
// 1
a
//[2,3]
arr.slice(begin[,end])
est non destructive, épissure et shift vous permettra de modifier votre tableau original
a écrit un petit article sur l'insertion et la suppression d'éléments à des positions arbitraires dans les tableaux Javascript.
voici le petit morceau pour enlever un élément de n'importe quelle position. Ceci étend la classe Array dans Javascript et ajoute la méthode remove(index).
// Remove element at the given index
Array.prototype.remove = function(index) {
this.splice(index, 1);
}
alors pour supprimer le premier élément dans votre exemple, appelez arr.supprimer ():
var arr = [1,2,3,5,6];
arr.remove(0);
pour supprimer le deuxième élément,
arr.remove(1);
voici un minuscule article avec Insérer et supprimer des méthodes pour la classe Array.
essentiellement, ceci n'est pas différent des autres réponses utilisant splice, mais le nom splice
n'est pas intuitif, et si vous avez cet appel tout au long de votre application, il rend juste le code plus difficile à lire.
Si vous souhaitez supprimer un ou plusieurs éléments d'un tableau dépend de son contenu et/ou sa position .
vous pouvez utiliser la fonction JS filter
array.
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/filter .
supprimer le premier élément :
// Not very useful but it works
function removeFirst(element, index) {
return index > 0;
}
var arr = [1,2,3,5,6].filter(removeFirst); // [2,3,4,5,6]
supprimer le deuxième élément :
function removeSecond(element, index) {
return index != 1;
}
var arr = [1,2,3,5,6].filter(removeSecond); // [1,3,4,5,6]
Supprimer l'élément impair :
function removeOdd(element, index) {
return !(element % 2);
}
var arr = [1,2,3,5,6].filter(removeOdd); [2,4,6]
vous pouvez utiliser la fonction D'assignation de déstructuration ES6 avec un opérateur de repos. Une virgule indique où vous voulez supprimer l'élément et le reste (...arr) opérateur pour vous donner les éléments restants du tableau.
const source = [1,2,3,5,6];
function removeFirst(list) {
var [, ...arr] = source;
return arr;
}
const arr = removeFirst(source);
console.log(arr); // [2, 3, 5, 6]
console.log(source); // [1, 2, 3, 5, 6]
Array.splice()
a la propriété intéressante qu'on ne peut pas l'utiliser pour enlever le premier élément. Donc, nous devons recourir à
function removeAnElement( array, index ) {
index--;
if ( index === -1 ) {
return array.shift();
} else {
return array.splice( index, 1 );
}
}