para eliminar el primer y último elemento de la matriz


102

¿Cómo eliminar el primer y último elemento de una matriz?

Por ejemplo:

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

Matriz de salida esperada:

["Orange", "Apple"]

9
esto parece una 'pelota blanda' para crear enlaces a w3schools, incluso ha usado los mismos elementos de matriz. ;-)
Myster

Respuestas:


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. 

Vea todos los métodos para una matriz.


Es más fácil con jQuery UImyArray.effect( "transfer", { item: 'first&&last', to: bin});
iConnor

3
Estimados votantes en contra, es posible que desee que sus votos en contra sean útiles, así que agregue un comentario que explique qué está mal con la respuesta ..

3
Esto devolverá solo el valor del elemento eliminado (primer o último), no la matriz restante
Jubin Patel

@RC. Solo quiero informar al usuario sobre el trabajo real de la función. Estoy cuestionando tu respuesta.
Jubin Patel

2
Al igual que el usuario, use esta función de la misma manera que la escribe, definitivamente funciona correctamente como elemento de eliminación, PERO si el usuario escribe return fruits.shift(), devolverá SOLAMENTE ese primer elemento y luego lo eliminará de la matriz.
Jubin Patel

79

Crea una copia profunda de 1 nivel.

fruits.slice(1, -1)

Suelta la matriz original.

Gracias a @Tim por señalar las erratas de ortografía.


1
Creo que te refieres en slice()lugar de splice().
Tim Down

71
Cortar la fruta en rodajas es mucho mejor que reventar o mover la fruta.
pettys

2
con el aumento de la popularidad de redux, javscript funcional y cosas inmutables, esta respuesta es mucho mejor
nkint

17

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

Aquí, -1 denota el último elemento de una matriz y 1 denota el segundo elemento.


O simplemente fruits = fruits.slice(1,-1);si no tiene que crear una nueva variable.
Hastig Zusammenstellen

9

Yo uso el método de empalme.

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

Para eliminar el último elemento también puede hacerlo de esta manera:

fruits.splice(-1, 1);

Consulte Eliminar el último elemento de la matriz para ver más comentarios al respecto.


4

push()agrega un nuevo elemento al final de una matriz.
pop()elimina un elemento del final de una matriz.

unshift()agrega un nuevo elemento al comienzo de una matriz.
shift()elimina un elemento del principio de una matriz.

Para eliminar el primer elemento de una matriz arr, use arr.shift()
Para eliminar el último elemento de una matriz arr, usearr.pop()



1

Eliminar el elemento de la matriz es fácil, solo haga lo siguiente

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

1

Esto se puede hacer con lodash _.taily _.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"];

Elimina el primer elemento de la matriz.
vikas pal

0

Digamos que tiene una lista con nombre de matriz. La función Splice () se puede utilizar tanto para agregar como para eliminar elementos de esa matriz en un índice específico, es decir, que puede estar al principio o al final o en cualquier índice. Por el contrario, hay otro nombre de función shift () y pop () que es capaz de eliminar solo el primer y último elemento de la matriz.

Esta es la función Shift que solo es capaz de eliminar el primer elemento de la matriz

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 función Pop elimina el elemento de una matriz en su último índice

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

Ahora viene la función de empalme mediante la cual puede eliminar elementos en cualquier índice

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 función de corte acepta dos parámetros ( índice para comenzar , número de pasos restantes );


-1

Usó el método Fruits.shift () para eliminar el primer elemento. El método Fruits.pop () utilizado para el último elemento elimina uno por uno si usó el botón clic. Fruits.slice (posición de inicio, eliminar elemento) También usó el método de corte para eliminar el elemento en el comienzo medio.


1
lea esto y formatee su respuesta correctamente meta.stackexchange.com/questions/22186/…
isuruAb

-1

Para quitar el primer y último elemento de una matriz es el uso de la incorporada en el método de un decir matriz shift()y pop()el fruits.shift()obtener el primer elemento de la matriz como "Banana", mientras que fruits.pop()obtener el último elemento de la matriz como "Mango". por lo que el elemento restante de la matriz será["Orange", "Apple"]


2
la respuesta que dio ya existe en esta pregunta: aquí y aquí . Si cree que necesitan más explicaciones, deje un comentario debajo de la respuesta con el que no esté satisfecho.
Skandix

1
¡El formateo de su código ayudará ( meta.stackexchange.com/questions/22186/… )! Además, esta respuesta parece idéntica a otras (por ejemplo, stackoverflow.com/a/43327999/608312 ).
Jake Lee

Notado @JakeSteam
chisom okoye
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.