Las arrays en JavaScript tienen muchos métodos que facilitan muchas operaciones.
En este artículo, veamos diferentes formas de obtener los elementos eliminados antes de que la función pasada devuelva algo.
Tomemos una array ordenada y la tarea es eliminar todos los elementos menores que el valor del limitador pasado a la función, necesitamos imprimir todos los elementos eliminados.
Método 1: Usar el método slice()
En una función, si hay varias declaraciones de retorno, solo se ejecuta la primera declaración de retorno y se completa la función.
Fragmento de código:
var retrieveRemoved = function (arg_1, arg_2) { var i; for (i = 0; i < array.length; i++) { if (condition) { return statement1; } } return statement2; }
Ejemplo:
Javascript
<script> var array = [1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 8, 8]; // Removing elements less than 5 and returning them var limiter = 5; // function which slices the array taking limiter as parameter var retrieveRemoved = function (array, limiter) { var i; for (i = 0; i < array.length; i++) { // If the number value is greater or equal than limiter if (array[i] >= limiter) { // It takes the array from 0th // index to i, excluding it return array.slice(0, i); } } return array.slice(i); } var removed = retrieveRemoved(array, limiter); console.log("The removed elements: " + removed); </script>
Producción:
The removed elements: 1,2,2,3,4
Método 2: usar otra array. Se puede usar otra array para verificar la condición. Si no cumple la condición, estos son los elementos a eliminar. Empujamos todos los elementos que no satisfacen la condición a otra array y devolvemos la array resultante.
Ejemplo:
Javascript
<script> var array = [1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 8, 8]; // Removing elements less than 5 and returning them var limiter = 5; var retrieveRemoved = function (array, limiter) { var i,s; var res=[]; for (i = 0; i < array.length; i++) { if (array[i] < limiter) { // Push() method is used to // values into the res[]. res.push(array[i]); } else{ s=i; break; } } return res; return array.slice(i); } var removed = retrieveRemoved(array, limiter); console.log("The removed elements are: " + removed); </script>
Producción:
The removed elements are: 1,2,2,3,4
Publicación traducida automáticamente
Artículo escrito por lokeshpotta20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA