El método Underscore.js _.keepIndexed() toma una array y una función como parámetros y devuelve una nueva array llena con los resultados de retorno no nulos de la función dada aplicada sobre los elementos de la array dada.
Sintaxis:
_.keepIndexed(array, function)
Parámetros:
- array: La array pasada para ser pasada a este método.
- función: La función que contiene las condiciones para generar una nueva array.
Valor devuelto: este método devuelve una array recién generada.
Nota: Esto no funcionará en JavaScript normal porque requiere que se instale la biblioteca de contribuciones underscore.js.
La biblioteca de contribución underscore.js se puede instalar mediante npm install underscore-contrib –save.
Ejemplo 1: en este ejemplo, generaremos una array usando este método al verificar las condiciones.
Aquí, en la función, se pasa el índice de la array, que se usa más para obtener valores y comparación.
// Defining underscore contrib variable var _ = require('underscore-contrib'); // Defining Array var array = [1, 3, 5, 9] // Using keepIndexed() Method arr = _.keepIndexed(array, function(n) { return array[n] >= 5; }); console.log("Generated Array : "); console.log(arr);
Producción:
Generated Array : [ false, false, true, true ]
Ejemplo 2: En este ejemplo, generaremos una array llena de índices de elementos.
// Defining underscore contrib variable var _ = require('underscore-contrib'); // Defining Array var array = [1, 3, 5, 9, 11, 22, 34, 55] // Using keepIndexed() Method arr = _.keepIndexed(array, function(n) { return n; }); console.log("Generated Array : "); console.log(arr);
Producción:
Generated Array : [ 0, 1, 2, 3, 4, 5, 6, 7 ]
Ejemplo 3: En este ejemplo, usaremos la condición if para obtener valores particulares.
// Defining underscore contrib variable var _ = require('underscore-contrib'); // Defining Array var array = [1, 3, 5, 9, 11, 22, 34, 55] // Using keepIndexed() Method arr = _.keepIndexed(array, function(n) { if(n===4) return array[n]; }); console.log("Generated Array : "); console.log(arr);
Producción:
Generated Array : [ 11 ]