passthrow

2.3.1 • Public • Published

passthrow.js

Описание библиотеки

Библиотека представляет собой ES6-модуль, экспортирующий объект passthrow:

import passthrow from 'passthrow'

/* {
    filterInterestingIndices(search, target) {
        ...
    },
    filterIndices(search, func) {
        ...
    },
    controlIndex(current) {
        ...
    }
}
*/

На данный момент объект содержит три метода, целенаправленно созданных для работы с индексами массивов (не исключено, что вы сможете найти им не менее прагматичное применение)

Описание методов

filterInterestingIndices

Метод filterInterestingIndices ищет в исследуемом массиве search элементы целевого массива target, возвращая массив индексов элементов search, идентичных target. Если элемент, принадлежащий target, отсутствует в search (не нашлось ни одного идентичного), результатом будет -1.

const filterInterestingIndices = passthrow.filterInterestingIndices;

let result = filterInterestingIndices(search, target);

Аргументами метода могут быть не только массивы, но и массивоподобные (ArrayLike) / итерируемые объекты (данные структуры преобразуются в массивы внутри метода).

Появление метода инспирировано реальным кейсом; репозиторий макетного прототипа кейса https://github.com/SerialEditor/passthrow_demonstration_page предоставляет пример практического применения метода.

filterIndices

Синтаксис:

let result = filterIndices(search, function(item, index, array) {
    ...
});

Функция func вызывается по очереди для каждого элемента item массива search; метод возвращает массив индексов элементов search, для которых вызов func вернул true.

controlIndex

const controlIndex = passthrow.controlIndex(init);

Вызов controlIndex создает счетчик, позволяющий управлять начальным значением init через замыкание с помощью функций возвращаемого вызовом controlIndex массива:

controlIndex = [
    function () {
        return current;
      },
      function (value) {
        current = value;
        return current;
      },
]

continuousSubArrays

const result = passthrow.continuousSubArrays(arr)

Выбивается из первоначальной концепции пакета (но ведь всё движется, всё меняется, что непременно находит отражение в CHANGELOG). Возвращает массив со всеми доступными непрерывными подмассивами, взятыми из массива-аргумента

Package Sidebar

Install

npm i passthrow

Weekly Downloads

1

Version

2.3.1

License

ISC

Unpacked Size

5.7 kB

Total Files

3

Last publish

Collaborators

  • serialeditor