untuk menghapus elemen pertama dan terakhir dalam array


102

Bagaimana cara menghapus elemen pertama dan terakhir dalam sebuah array?

Sebagai contoh:

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

Larik keluaran yang diharapkan:

["Orange", "Apple"]

9
ini terlihat seperti 'soft ball' untuk membuat tautan ke w3schools, Anda bahkan telah menggunakan elemen array yang sama. ;-)
Myster

Jawaban:


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. 

Lihat semua metode untuk Array.


Lebih mudah dengan jQuery UImyArray.effect( "transfer", { item: 'first&&last', to: bin});
iConnor

3
Para downvoters yang terhormat, Anda mungkin ingin downvote Anda bermanfaat, jadi harap tambahkan komentar yang menjelaskan apa yang salah dengan jawabannya ..

3
Ini hanya akan mengembalikan nilai elemen yang dihapus (pertama atau terakhir), bukan array yang tersisa
Jubin Patel

@Rumah Hanya ingin memberi tahu Pengguna tentang pekerjaan fungsi yang sebenarnya. Saya mempertanyakan jawaban Anda.
Jubin Patel

2
Seperti Pengguna, gunakan fungsi ini sama seperti Anda menulisnya, itu pasti berfungsi sebagaimana mestinya sebagai elemen hapus, TAPI jika pengguna menulisnya return fruits.shift()HANYA akan mengembalikan elemen pertama dan kemudian menghapus dari array.
Jubin Patel

79

Membuat salinan dalam 1 tingkat.

fruits.slice(1, -1)

Lepaskan array asli.

Terima kasih kepada @Tim karena menunjukkan ralat ejaan.


1
Saya pikir maksud Anda slice()daripada splice().
Tim Down

71
Mengiris buah jauh lebih baik daripada meletuskan atau menggeser buah.
Pettys

2
dengan peningkatan popularitas redux, javscript fungsional, dan hal-hal yang tidak dapat diubah, jawaban ini jauh lebih baik
nkint

17

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

Di sini, -1 menunjukkan elemen terakhir dalam array dan 1 menunjukkan elemen kedua.


Atau hanya fruits = fruits.slice(1,-1);jika Anda tidak perlu membuat variabel baru.
Hastig Zusammenstellen

9

Saya menggunakan metode sambatan.

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

Untuk menghapus elemen terakhir juga Anda dapat melakukannya dengan cara ini:

fruits.splice(-1, 1);

Lihat Menghapus item terakhir dari larik untuk melihat lebih banyak komentar tentangnya.


4

push() menambahkan elemen baru ke akhir larik.
pop()menghapus elemen dari akhir array.

unshift() menambahkan elemen baru ke awal array.
shift()menghapus elemen dari awal array.

Untuk menghapus elemen pertama dari sebuah array arr, gunakan arr.shift()
Untuk menghapus elemen terakhir dari sebuah array arr, gunakanarr.pop()



1

Untuk menghapus elemen dari array cukup mudah lakukan hal berikut

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

1

Ini dapat dilakukan dengan lodash _.taildan _.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"];

Hapus elemen pertama dari array.
vikas pal

0

Katakanlah Anda memiliki daftar bernama array. Fungsi Splice () dapat digunakan untuk menambah dan menghapus item dalam larik tersebut dalam indeks tertentu, misalnya yang dapat berada di awal atau di akhir atau di indeks mana pun. Sebaliknya ada fungsi lain yang bernama shift () dan pop () yang mampu menghapus hanya item pertama dan terakhir dalam array.

Ini adalah Fungsi Shift yang hanya mampu menghapus elemen pertama dari 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 ];

Fungsi Pop menghapus item dari larik pada indeks terakhirnya

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

Sekarang hadir fungsi splice dimana Anda dapat menghapus item di indeks manapun

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 

Fungsi slice menerima dua parameter ( Indeks untuk memulai , jumlah langkah yang harus ditempuh );


-1

Anda menggunakan metode Fruits.shift () untuk menghapus elemen pertama. Fruits.pop () metode yang digunakan untuk menghapus elemen terakhir satu per satu jika Anda menggunakan klik tombol. Fruits.slice (posisi awal, hapus elemen) Anda juga menggunakan metode slice untuk menghapus elemen di tengah awal.


1
baca ini dan format jawaban Anda dengan benar meta.stackexchange.com/questions/22186/…
isuruAb

-1

Untuk menghapus elemen pertama dan terakhir dari array adalah dengan menggunakan built-in metode sebuah yaitu susunan shift()dan pop()yang fruits.shift()mendapatkan elemen pertama dari array sebagai "Pisang" sementara fruits.pop()mendapatkan elemen terakhir dari array sebagai "Mango". sehingga elemen array yang tersisa akan menjadi["Orange", "Apple"]


2
jawaban yang Anda berikan sudah ada dalam pertanyaan ini: di sini dan di sini . Jika Anda merasa mereka membutuhkan lebih banyak penjelasan, silakan tinggalkan komentar di bawah jawaban yang Anda tidak puas.
Skandix

1
Memformat kode Anda akan membantu ( meta.stackexchange.com/questions/22186/… )! Selain itu, jawaban ini tampaknya identik dengan yang lain (mis. Stackoverflow.com/a/43327999/608312 ).
Jake Lee

Tercatat @JakeSteam
chisom okoye
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.