配列の最初と最後の要素を削除する


102

配列の最初と最後の要素を削除するにはどうすればよいですか?

例えば:

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

予期される出力配列:

["Orange", "Apple"]

9
これは、w3schoolsへのリンクを作成するための「ソフトボール」のように見えます。同じ配列要素を使用したことさえあります。;-)
ミスター

回答:


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. 

配列のすべてのメソッドを参照してください。


jQuery UIで簡単にmyArray.effect( "transfer", { item: 'first&&last', to: bin});
iConnor 2013

3
親愛なるdownvoters、あなたはあなたのdownvotesが参考になりたい、そう答えと間違って何を説明するコメントを追加してくださいかもしれない...

3
削除された(最初または最後の)要素の値のみが返され、残りの配列は
返され

@RC。機能の実際の作業についてユーザーに通知したいだけです。私はあなたの答えについて質問しています。
Jubin Patel、2015

2
ユーザーがこの関数を書くのと同じように使用すると、間違いなく要素の削除として適切に機能しますが、ユーザーが書き込むreturn fruits.shift()と、最初の要素だけが返され、配列から削除されます。
Jubin Patel、2015

78

1レベルのディープコピーを作成します。

fruits.slice(1, -1)

元の配列を手放します。

つづりの正誤表を指摘してくれた@Timに感謝します。


1
slice()いうよりも、という意味だと思いますsplice()
Tim Down

70
果物のスライスは、果物の飛び出しや移動よりもはるかに優れています。
ペティ

2
redux、機能的なJAVScript、および不変のものの人気が高まるにつれ、この答えは
はるかに

17

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

ここで、-1は配列の最後の要素を示し、1は2番目の要素を示します。


またはfruits = fruits.slice(1,-1);、新しい変数を作成する必要がない場合のみです。
Hastig Zusammenstellen 2018

9

スプライス方式を採用しています。

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

最後の要素を削除するには、次のようにすることもできます:

fruits.splice(-1, 1);

配列から最後の項目削除するを参照してくださいそれに関するコメントをさらに見るにはからを参照してください。


4

push() 配列の最後に新しい要素を追加します。
pop()配列の末尾から要素を削除します。

unshift() 配列の先頭に新しい要素を追加します。
shift()配列の先頭から要素を削除します。

配列から最初の要素を削除するにはarr、使用するarr.shift()
配列から最後の要素を除去するためにarr、使用arr.pop()


2

あなたはArray.prototype.reduce()を使うことができます

コード:

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


最初と最後のアイテムを削除するために減らして見てクールです!
モハンラム

1

配列から要素を削除するのは簡単です。

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


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

0

リストという名前の配列があるとします。スプライス()関数は、両方が追加、最初または最後に、または任意の指標であることができる特定の指標、すなわちにおけるその配列内のアイテムを除去するために使用することができます。逆に、配列の最初と最後の項目のみを削除できる別の関数名shift()およびpop()があります。

これは、配列の最初の要素のみを削除できるシフト関数です。

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

Pop関数は、最後のインデックスにある配列から項目を削除します

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

これで、任意のインデックスでアイテムを削除できるスプライス機能が追加されました

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 

スライス関数は2つのパラメーター(最初にインデックス)を受け入れます行くためにステップ数を)。


-1

Fruits.shift()メソッドを使用して、最初の要素の削除を行いました。ボタンクリックを使用した場合、最後の要素に使用されるFruits.pop()メソッドは1つずつ削除します。Fruits.slice(開始位置、要素の削除)また、中間開始で要素を削除するためにスライスメソッドを使用しました。


1
これを読んで、正しくあなたの答えをフォーマットmeta.stackexchange.com/questions/22186/...
isuruAb

-1

配列の最初と最後の要素を削除するには使用している配列、すなわちの方法で構築されたshift()としながら、「バナナ」として、配列の最初の要素を取得し、「マンゴー」として、配列の最後の要素を取得します。配列の残りの要素はpop()fruits.shift()fruits.pop()["Orange", "Apple"]


2
あなたが与えた答えはすでにこの質問にありますここここ。もっと説明が必要だと思われる場合は、満足していない回答の下にコメントを残してください。
Skandix 2018年

1
コードをフォーマットすると(meta.stackexchange.com/questions/22186/…)役立ちます!さらに、この回答は他の回答と同じように見えます(例:stackoverflow.com/a/43327999/608312)。
ジェイクリー

@JakeSteamに注目
chisom okoye 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.