Skip to content

SerialEditor/passthrow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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). Возвращает массив со всеми доступными непрерывными подмассивами, взятыми из массива-аргумента

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published