pour supprimer le premier et le dernier élément du tableau

102

Comment supprimer le premier et le dernier élément d'un tableau?

Par exemple:

var fruits = ["Banana", "Orange", "Apple", "Mango"];

Tableau de sortie attendu:

["Orange", "Apple"]
Mohan Ram
la source
9
cela ressemble à une «balle molle» pour créer des liens vers w3schools, vous avez même utilisé les mêmes éléments de tableau. ;-)
Myster

Réponses:

142
fruits.shift();  // Removes the first element from an array and returns only that element.
fruits.pop();    // Removes the last element from an array and returns only that element. 

Voir toutes les méthodes pour un tableau.


la source
C'est plus facile avec jQuery UImyArray.effect( "transfer", { item: 'first&&last', to: bin});
iConnor
3
Chers votants négatifs, vous voudrez peut-être que vos votes négatifs soient utiles, alors veuillez ajouter un commentaire expliquant ce qui ne va pas avec la réponse ..
3
Cela ne renverra que la valeur de l'élément supprimé (premier ou dernier), pas le tableau restant
Jubin Patel
@RC. Je veux juste informer l'utilisateur du travail réel de la fonction. Je questionne votre réponse.
Jubin Patel
2
Comme l'utilisateur utilise cette fonction de la même manière que vous l'écrivez, elle fonctionne définitivement comme un élément de suppression, MAIS si l'utilisateur écrit, return fruits.shift()elle ne retournera QUE ce premier élément, puis supprimera du tableau.
Jubin Patel
79

Crée une copie profonde de 1 niveau.

fruits.slice(1, -1)

Lâchez le tableau d'origine.

Merci à @Tim d'avoir signalé l'errata d'orthographe.

Anurag
la source
1
Je pense que tu veux dire slice()plutôt que splice().
Tim Down
71
Trancher des fruits est bien meilleur que de les éclater ou de les déplacer.
pettys
2
avec la popularité croissante de redux, javscript fonctionnel et choses immuables, cette réponse est bien meilleure
nkint
17

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var newFruits = fruits.slice(1, -1);
console.log(newFruits); //  ["Orange", "Apple"];

Ici, -1 désigne le dernier élément d'un tableau et 1 désigne le deuxième élément.

Pantalon Tripti
la source
Ou simplement fruits = fruits.slice(1,-1);si vous n'avez pas à créer une nouvelle variable.
Hastig Zusammenstellen
9

J'utilise la méthode d'épissure.

fruits.splice(0, 1); // Removes first array element

var lastElementIndex = fruits.length-1; // Gets last element index

fruits.splice(lastElementIndex, 1); // Removes last array element

Pour supprimer le dernier élément, vous pouvez également le faire de cette façon:

fruits.splice(-1, 1);

Voir Supprimer le dernier élément du tableau pour voir plus de commentaires à ce sujet.

Chinokao
la source
4

push()ajoute un nouvel élément à la fin d'un tableau.
pop()supprime un élément de la fin d'un tableau.

unshift()ajoute un nouvel élément au début d'un tableau.
shift()supprime un élément du début d'un tableau.

Pour supprimer le premier élément d'un tableau arr, utilisez arr.shift()
Pour supprimer le dernier élément d'un tableau arr, utilisezarr.pop()

Harunur Rashid
la source
2

Vous pouvez utiliser Array.prototype.reduce () .

Code:

const fruits = ['Banana', 'Orange', 'Apple', 'Mango'],
      result = fruits.reduce((a, c, i, array) => 0 === i || array.length - 1 === i ? a : [...a, c], []);

console.log(result);

Yosvel Quintero Arguelles
la source
Cool de voir réduire pour supprimer le premier et le dernier élément!
Mohan Ram
1

Pour supprimer un élément du tableau est facile, procédez comme suit

let array_splited = [].split('/');
array_splited.pop()
array_splited.join('/')
Richie
la source
1

Cela peut être fait avec lodash _.tailet _.dropRight:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(_.dropRight(_.tail(fruits)));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>

Penny Liu
la source
0
var resident_array =  ["RC_FRONT", "RC_BACK", "RC_BACK"];
var remove_item = "RC_FRONT";
resident_array = $.grep(resident_array, function(value) {
            return value != remove_item;
    });
resident_array = ["RC_BACK", "RC_BACK"];
vikas copain
la source
Supprimez le premier élément du tableau.
vikas pal
0

Supposons que vous ayez un tableau nommé list. La fonction Splice () peut être utilisée à la fois pour ajouter et supprimer des éléments dans ce tableau dans un index spécifique, c'est-à-dire qui peut être au début ou à la fin ou à n'importe quel index. Au contraire, il existe un autre nom de fonction shift () et pop () qui est capable de supprimer uniquement le premier et le dernier élément du tableau.

C'est la fonction Shift qui n'est capable de supprimer que le premier élément du tableau

var item = [ 1,1,2,3,5,8,13,21,34 ]; // say you have this number series 
item.shift(); // [ 1,2,3,5,8,13,21,34 ];

La fonction Pop supprime l'élément d'un tableau à son dernier index

item.pop(); // [ 1,2,3,5,8,13,21 ];

Vient maintenant la fonction d'épissure par laquelle vous pouvez supprimer un élément à n'importe quel index

item.slice(0,1); // [ 2,3,5,8,13,21 ] removes the first object
item.slice(item.length-1,1); // [ 2,3,5,8,13 ] removes the last object 

La fonction slice accepte deux paramètres ( Index pour commencer , nombre d'étapes à parcourir );

Labib Hussain
la source
-1

Vous avez utilisé la méthode Fruits.shift () pour supprimer le premier élément. La méthode Fruits.pop () utilisée pour le dernier élément supprime un par un si vous avez utilisé le clic de bouton. Fruits.slice (position de départ, élément de suppression) Vous avez également utilisé la méthode de tranche pour supprimer l'élément au début du milieu.

manoj chauhan
la source
1
lisez ceci et formatez correctement votre réponse meta.stackexchange.com/questions/22186/…
isuruAb
-1

Pour supprimer le premier et le dernier élément d'un tableau est en utilisant intégré dans la méthode d'un à- dire de tableau shift()et pop()l' fruits.shift()obtenir le premier élément du tableau comme « Banana » alors fruits.pop()obtenir le dernier élément du tableau comme « Mango ». donc l'élément restant du tableau sera["Orange", "Apple"]

chisom okoye
la source
2
la réponse que vous avez donnée existe déjà dans cette question: ici et ici . Si vous pensez qu'ils ont besoin de plus d'explications, veuillez laisser un commentaire sous la réponse qui ne vous satisfait pas.
Skandix
1
Formater votre code vous aidera ( meta.stackexchange.com/questions/22186/… )! De plus, cette réponse semble identique à d'autres (par exemple, stackoverflow.com/a/43327999/608312 ).
Jake Lee
Noté @JakeSteam
chisom okoye