для видалення першого та останнього елемента з масиву


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. 

Перегляньте всі методи для масиву.


Простіше з інтерфейсом jQuerymyArray.effect( "transfer", { item: 'first&&last', to: bin});
iConnor

3
Шановні низовики, можливо, ви хочете, щоб ваші рейтинги були корисними, тому, будь ласка, додайте коментар із поясненням того, що не так у відповіді ..

3
Це поверне лише значення вилученого (першого чи останнього) елемента, не залишився масив
Jubin Patel

@RC. Просто хочу повідомити Користувача про фактичну роботу функції. Я допитуюсь на вашу відповідь.
Джубін Патель

2
Як і Користувач, користується цією функцією так само, як ви пишете, вона точно працює належним чином, як елемент видалення, Але, якщо користувач пише, return fruits.shift()вона поверне ТОЛЬКО цей перший елемент, а потім видалить з масиву.
Юбін Патель

79

Створює глибоку копію 1 рівня.

fruits.slice(1, -1)

Відпустіть початковий масив.

Дякуємо @Tim за вказівку на орфографічні помилки.


1
Я думаю, ви маєте на увазі, slice()а не splice().
Тім Даун

71
Нарізання фруктів набагато краще, ніж макання або переміщення фруктів.
pettys

2
з прирісткою популярності скорочення, функціонального javscript і незмінних речей ця відповідь набагато краща
nkint

17

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

Тут -1 позначає останній елемент у масиві, а 1 позначає другий елемент.


Або просто fruits = fruits.slice(1,-1);якщо вам не доведеться створювати нову змінну.
Hastig Zusammenstellen

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('/')

1

Це можна зробити за допомогою лодашу _.tailта _.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"];

Видаліть перший елемент з масиву.
vikas pal

0

Скажімо, у вас є масив з іменем списку. Функція Splice () може використовуватися як для додавання, так і для видалення елемента з цього масиву в конкретному індексі, тобто, який може бути на початку або в кінці або в будь-якому індексі. Навпаки, є ще одне ім'я функції shift () та pop (), яке здатне видалити лише перший та останній елемент із масиву.

Це функція Shift, яка здатна видалити лише перший елемент масиву

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 

Функція зрізу приймає два параметри ( індекс для початку , кількість кроків, які потрібно пройти );


-1

Для видалення першого елемента ви використовували метод Fruits.shift (). Метод Fruits.pop (), що використовується для останнього елемента, видаліть один за одним, якщо ви використовували натискання кнопки. Fruits.slice (стартове положення, елемент видалення) Ви також використовували метод зрізу для видалення елемента в середньому старті.


1
прочитайте це та правильно відформатуйте свою відповідь meta.stackexchange.com/questions/22186/…
isuruAb

-1

Для того, щоб видалити перший і останній елемент масиву за допомогою вбудованого методу ІЕ масиву shift()і отримати перший елемент масиву , як «банан» в той час як отримати останній елемент масиву , як «Манго». тому залишився елемент масиву будеpop()fruits.shift()fruits.pop()["Orange", "Apple"]


2
відповідь, яку ви дали, вже існує в цьому питанні: тут і тут . Якщо вам здається, що їм потрібно більше пояснень, залиште коментар під відповіддю, яким ви не задоволені.
Skandix

1
Форматування коду допоможе ( meta.stackexchange.com/questions/22186/… )! Крім того, ця відповідь здається ідентичною іншим (наприклад, stackoverflow.com/a/43327999/608312 ).
Джейк Лі

Повідомлено @JakeSteam
chisom okoye
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.