Underscore.js | _.keepIndexed () Метод

Опубликовано: 29 Июля, 2021

Метод Underscore.js _.keepIndexed () принимает в качестве параметров массив и функцию и возвращает новый массив, заполненный ненулевыми результатами возврата данной функции, действующей на элементы данного массива.

Синтаксис:

 _.keepIndexed (массив, функция)

Параметры:

  • array: массив, передаваемый в этот метод.
  • function: функция, содержащая условия для создания нового массива.

Возвращаемое значение: этот метод возвращает вновь созданный массив.

Примечание. Это не будет работать в обычном JavaScript, поскольку для этого требуется установка библиотеки contrib underscore.js.

Библиотеку contrib underscore.js можно установить с помощью команды npm install underscore-contrib –save.

Пример 1. В этом примере мы сгенерируем массив с помощью этого метода, проверив условия.

Здесь в функции передается индекс массива, который в дальнейшем используется для получения значений и сравнения.




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

Выход:

 Сгенерированный массив:
[ложь, ложь, истина, истина]

Пример 2: В этом примере мы сгенерируем массив, полный индексов элементов.




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

Выход:

 Сгенерированный массив:
[
  0, 1, 2, 3,
  4, 5, 6, 7
]

Пример 3: В этом примере мы будем использовать условие if для получения определенных значений.




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

Выход:

 Сгенерированный массив:
[11]