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, si je veux supprimer le deuxième élément du tableau pour qu’il devienne:
var arr = [1,3,5,6];
Pour une solution plus flexible, utilisez la fonction splice()
. Il vous permet de supprimer n’importe quel élément d’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 change la longueur du tableau.
array = [1, 2, 3, 4, 5];
array.shift(); // 1
array // [2, 3, 4, 5]
La méthode Array.prototype.shift
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, l'épissure et le décalage modifieront votre tableau d'origine
A écrit un petit article sur l’insertion et la suppression d’éléments à des positions arbitraires dans des tableaux Javascript.
Voici le petit extrait permettant de supprimer un élément de n’importe quelle position. Cela étend la classe Array en Javascript et ajoute la méthode remove (index).
// Remove element at the given index
Array.prototype.remove = function(index) {
this.splice(index, 1);
}
Donc, pour supprimer le premier élément de votre exemple, appelez arr.remove ():
var arr = [1,2,3,5,6];
arr.remove(0);
Pour enlever le deuxième article,
arr.remove(1);
Voici un petit article avec les méthodes insert et delete pour la classe Array.
En substance, ce n'est pas différent des autres réponses utilisant l'épissure, mais le nom splice
n'est pas intuitif, et si vous avez cet appel dans toute votre application, cela rend simplement le code plus difficile à lire.
Peut-être quelque chose comme ça:
arr=arr.slice(1);
D'autres réponses sont géniales, je voulais juste ajouter une solution alternative avec ES6
Fonction de tableau: filter
.
filter()
crée un nouveau tableau avec des éléments appartenant à un critère donné d'un tableau existant.
Ainsi, vous pouvez facilement l'utiliser pour supprimer des éléments qui ne répondent pas aux critères. Les avantages de cette fonction sont que vous pouvez l'utiliser sur des tableaux complexes, pas seulement des chaînes et des nombres.
Quelques exemples :
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ément impair:
function removeOdd(element, index) {
return !(element % 2);
}
var arr = [1,2,3,5,6].filter(removeOdd); [2,4,6]
Supprimer les articles non en stock
const inventory = [
{name: 'Apple', qty: 2},
{name: 'Banana', qty: 0},
{name: 'Orange', qty: 5}
];
const res = inventory.find( product => product.qty > 0);
Vous pouvez utiliser la fonction ES6 Destructuring Assignment 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] = list;
return arr;
}
const arr = removeFirst(source);
console.log(arr); // [2, 3, 5, 6]
console.log(source); // [1, 2, 3, 5, 6]