Underscore.js _.partitionBy () Метод

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

Метод _.partitionBy () принимает массив и функцию и, следовательно, генерирует секционированный массив на основе условий данной функции.

Синтаксис:

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

Параметры:

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

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

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

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

Пример 1. В этом примере мы создадим секционированный массив четных и нечетных элементов, используя этот метод.




// Defining underscore contrib variable
var _ = require( 'underscore-contrib' );
// Array
var array = [1, 2, 3, 2, 1, 1, 5, 6, 6, 6, 7, 8, 9, 9, 10];
// Creating partitioned array
var p_arr = _.partitionBy(array, _.isOdd);
console.log( "Original Array : " , array);
console.log( "Partitioned Arrayy: " , p_arr);

Выход:

 Исходный массив: [
  1, 2, 3, 2, 1, 1,
  5, 6, 6, 6, 7, 8,
  9, 9, 10
]
Секционированный массив: [
  [1], [2],
  [3], [2],
  [1, 1, 5], [6, 6, 6],
  [7], [8],
  [9, 9], [10]
]

Пример 2: В этом примере мы создадим секционированный массив всех идентичных элементов.




// Defining underscore contrib variable
var _ = require( 'underscore-contrib' );
// Array
var array = [1, 2, 3, 2, 1, 1, 5, 6, 6, 6, 7, 8, 9, 9, 10];
// Creating partitioned array
var p_arr = _.partitionBy(array, _.identity);
console.log( "Original Array : " , array);
console.log( "Partitioned Arrayy: " , p_arr);

Выход:

 Исходный массив: [
  1, 2, 3, 2, 1, 1,
  5, 6, 6, 6, 7, 8,
  9, 9, 10
]
Секционированный массив: [
  [1], [2],
  [3], [2],
  [1, 1], [5],
  [6, 6, 6], [7],
  [8], [9, 9],
  [10]
]

Пример 3: В этом примере мы создадим секционированный массив всех отрицательных и положительных чисел.




// Defining underscore contrib variable
var _ = require( 'underscore-contrib' );
// Array
var array = [1, 2, 3, 2, -1, -1, 5, 6, -6, -6, -7, -8, 9, 9, 10];
// Creating partitioned array
var p_arr = _.partitionBy(array, function (val) {
return val>0
});
console.log( "Original Array : " , array);
console.log( "Partitioned Arrayy: " , p_arr);

Выход:

 Исходный массив: [
  1, 2, 3, 2, -1, -1,
  5, 6, -6, -6, -7, -8,
  9, 9, 10
]
Секционированный массив: [
  [1, 2, 3, 2],
  [-1, -1],
  [5, 6],
  [-6, -6, -7, -8],
  [9, 9, 10]
]