aby usunąć pierwszy i ostatni element tablicy

102

Jak usunąć pierwszy i ostatni element z tablicy?

Na przykład:

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

Oczekiwana tablica wyjściowa:

["Orange", "Apple"]
Mohan Ram
źródło
9
wygląda to jak „miękka piłka” do tworzenia linków do w3schools, a nawet używałeś tych samych elementów tablicy. ;-)
Myster

Odpowiedzi:

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. 

Zobacz wszystkie metody dla Array.


źródło
Łatwiej jest z interfejsem jQuerymyArray.effect( "transfer", { item: 'first&&last', to: bin});
iConnor
3
Drodzy przeciwnicy, możesz chcieć, aby Twoje głosy przeciwne były pomocne, więc dodaj komentarz wyjaśniający, co jest nie tak z odpowiedzią ..
3
Zwróci
@RC. Po prostu chcę poinformować Użytkownika o aktualnym działaniu funkcji. Pytam o twoją odpowiedź.
Jubin Patel
2
Podobnie jak użytkownik, użyj tej funkcji tak samo, jak piszesz, z pewnością działa ona poprawnie jako element usuwania, ALE jeśli użytkownik napisze return fruits.shift(), zwróci TYLKO pierwszy element, a następnie usunie z tablicy.
Jubin Patel
79

Tworzy kopię o głębokości 1 poziomu.

fruits.slice(1, -1)

Puść oryginalną tablicę.

Dzięki @Tim za wskazanie erraty pisowni.

Anurag
źródło
1
Myślę, że masz na myśli slice()raczej niż splice().
Tim Down
71
Krojenie owoców jest o wiele lepsze niż strzelanie lub przesuwanie owoców.
drobniaki
2
wraz ze wzrostem popularności reduxa, funkcjonalnego javscript i niezmiennych rzeczy ta odpowiedź jest o wiele lepsza
nkint
17

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

Tutaj -1 oznacza ostatni element w tablicy, a 1 oznacza drugi element.

Spodnie Tripti
źródło
Lub po prostu, fruits = fruits.slice(1,-1);jeśli nie musisz tworzyć nowej zmiennej.
Hastig Zusammenstellen
9

Używam metody łączenia.

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

Aby usunąć ostatni element, również możesz to zrobić w ten sposób:

fruits.splice(-1, 1);

Zobacz Usuń ostatni element z tablicy, aby zobaczyć więcej komentarzy na ten temat.

Chinokao
źródło
4

push()dodaje nowy element na koniec tablicy.
pop()usuwa element z końca tablicy.

unshift()dodaje nowy element na początek tablicy.
shift()usuwa element z początku tablicy.

Aby usunąć pierwszy element z tablicy arr, użyj arr.shift()
Aby usunąć ostatni element z tablicy arr, użyjarr.pop()

Harunur Rashid
źródło
2

Możesz użyć Array.prototype.reduce () .

Kod:

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
źródło
Fajnie, aby zobaczyć, zmniejsz, aby usunąć pierwszy i ostatni element!
Mohan Ram
1

Aby usunąć element z tablicy, wykonaj następujące czynności

let array_splited = [].split('/');
array_splited.pop()
array_splited.join('/')
Richie
źródło
1

Można to zrobić za pomocą lodash _.taili _.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
źródło
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 pal
źródło
Usuń pierwszy element z tablicy.
vikas pal
0

Powiedzmy, że masz tablicę o nazwie list. Funkcja Splice () może być używana zarówno do dodawania, jak i usuwania pozycji w tej tablicy w określonym indeksie, tj. Może znajdować się na początku lub na końcu lub w dowolnym indeksie. Wręcz przeciwnie, istnieje inna funkcja o nazwach shift () i pop (), która może usunąć tylko pierwszy i ostatni element tablicy.

To jest funkcja Shift, która może usunąć tylko pierwszy element tablicy

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

Funkcja Pop usuwa element z tablicy w jej ostatnim indeksie

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

Teraz przychodzi funkcja łączenia, za pomocą której możesz usunąć element z dowolnego indeksu

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 

Funkcja wycinka przyjmuje dwa parametry ( indeks na początek , liczba kroków do przejścia );

Labib Hussain
źródło
-1

Użyłeś metody Fruits.shift () do usunięcia pierwszego elementu. Fruits.pop () zastosowana do ostatniego elementu usuwa się jeden po drugim, jeśli użyłeś przycisku. Fruits.slice (pozycja początkowa, usuń element) Użyłeś również metody plasterków do usunięcia elementu w środkowym początku.

manoj chauhan
źródło
1
przeczytaj to i poprawnie sformatuj swoją odpowiedź meta.stackexchange.com/questions/22186/…
isuruAb
-1

Aby usunąć pierwszy i ostatni element tablicy jest za pomocą wbudowanej metody IE tablicy shift()i dostać pierwszy element tablicy jako „banan”, podczas gdy dostać ostatni element tablicy jako „mango”. więc pozostały element tablicy będziepop()fruits.shift()fruits.pop()["Orange", "Apple"]

chisom okoye
źródło
2
odpowiedź, której udzieliłeś, już istnieje w tym pytaniu: tu i tutaj . Jeśli czujesz, że potrzebują więcej wyjaśnień, zostaw komentarz pod odpowiedzią, z której nie jesteś zadowolony.
Skandix
1
Sformatowanie kodu pomoże ( meta.stackexchange.com/questions/22186/ ... )! Dodatkowo ta odpowiedź wydaje się identyczna z innymi (np. Stackoverflow.com/a/43327999/608312 ).
Jake Lee,
Noted @JakeSteam
chisom okoye