Underscore.js | _.keepIndexed () Метод
Метод 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]