per rimuovere il primo e l'ultimo elemento nell'array


102

Come rimuovere il primo e l'ultimo elemento in un array?

Per esempio:

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

Matrice di output prevista:

["Orange", "Apple"]

9
questa sembra una "palla morbida" per creare collegamenti a w3schools, hai persino usato gli stessi elementi dell'array. ;-)
Myster

Risposte:


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. 

Vedi tutti i metodi per un array.


È più facile con jQuery UImyArray.effect( "transfer", { item: 'first&&last', to: bin});
iConnor

3
Cari downvoters, potreste desiderare che i vostri downvote siano utili, quindi aggiungete un commento che spieghi cosa c'è che non va nella risposta ..

3
Questo restituirà solo il valore dell'elemento rimosso (primo o ultimo), non l'array rimanente
Jubin Patel

@RC. Voglio solo informare l'utente sul lavoro effettivo della funzione. Sto mettendo in dubbio la tua risposta.
Jubin Patel

2
Come l'utente usa questa funzione come si scrive, sicuramente funziona correttamente come rimuovi elemento, MA se l'utente scrive return fruits.shift()restituirà SOLO quel primo elemento e quindi rimuoverà dall'array.
Jubin Patel

79

Crea una copia profonda di 1 livello.

fruits.slice(1, -1)

Lascia andare l'array originale.

Grazie a @Tim per aver sottolineato l'errata ortografica.


1
Penso che tu intenda slice()piuttosto che splice().
Tim Down

71
Affettare la frutta è molto meglio che far scoppiare o spostare la frutta.
pettys

2
con l'aumento della popolarità di redux, javscript funzionale e cose immutabili questa risposta è molto migliore
nkint

17

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

Qui, -1 denota l'ultimo elemento in un array e 1 denota il secondo elemento.


O semplicemente fruits = fruits.slice(1,-1);se non devi creare una nuova variabile.
Hastig Zusammenstellen

9

Uso il metodo di giunzione.

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

Per rimuovere anche l'ultimo elemento puoi farlo in questo modo:

fruits.splice(-1, 1);

Vedere Rimuovere l'ultimo elemento dall'array per vedere più commenti su di esso.


4

push() aggiunge un nuovo elemento alla fine di un array.
pop()rimuove un elemento dalla fine di un array.

unshift() aggiunge un nuovo elemento all'inizio di un array.
shift()rimuove un elemento dall'inizio di un array.

Per rimuovere il primo elemento da un array arr, usa arr.shift()
Per rimuovere l'ultimo elemento da un array arr, usaarr.pop()



1

Per rimuovere un elemento dall'array è facile, basta fare quanto segue

let array_splited = [].split('/');
array_splited.pop()
array_splited.join('/')

1

Questo può essere fatto con lodash _.taile _.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>


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

Rimuove il primo elemento dall'array.
vikas pal

0

Supponi di avere un array denominato list. La funzione Splice () può essere utilizzata sia per aggiungere che per rimuovere elementi in quell'array in un indice specifico, cioè che può essere all'inizio o alla fine o in qualsiasi indice. Al contrario ci sono un altro nome di funzione shift () e pop () che è in grado di rimuovere solo il primo e l'ultimo elemento dell'array.

Questa è la funzione Shift che è in grado di rimuovere solo il primo elemento dell'array

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 funzione Pop rimuove l'elemento da un array nel suo ultimo indice

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

Ora arriva la funzione di giunzione con la quale è possibile rimuovere l'elemento in qualsiasi indice

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 funzione slice accetta due parametri ( Indice con cui iniziare , numero di passaggi da eseguire );


-1

Hai utilizzato il metodo Fruits.shift () per rimuovere il primo elemento. Il metodo Fruits.pop () utilizzato per l'ultimo elemento rimuove uno alla volta se si utilizza il clic del pulsante. Fruits.slice (posizione iniziale, elimina elemento) Hai anche utilizzato il metodo slice per rimuovere l'elemento all'inizio centrale.


1
leggi questo e formatta la tua risposta correttamente meta.stackexchange.com/questions/22186/…
isuruAb

-1

Per rimuovere il primo e l'ultimo elemento di un array è utilizzando il built-in metodo di un esempio di matrice shift()e pop()il fruits.shift()ottenere il primo elemento della matrice come "banana" mentre fruits.pop()ottenere l'ultimo elemento della matrice come "Mango". quindi l'elemento rimanente dell'array sarà["Orange", "Apple"]


2
la risposta che hai dato è già presente in questa domanda: qui e qui . Se ritieni che abbiano bisogno di ulteriori spiegazioni, lascia un commento sotto la risposta di cui non sei soddisfatto.
Skandix

1
La formattazione del codice aiuterà ( meta.stackexchange.com/questions/22186/… )! Inoltre, questa risposta sembra identica ad altre (ad esempio stackoverflow.com/a/43327999/608312 ).
Jake Lee

Notato @JakeSteam
chisom okoye
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.