Move element in a given array from one index to another ..with some extra functions.
npm install move-position
Moves element form one index to another with ability to fill each position and mutate the input array.
function move<T>(
arr: T[] = [],
movingMap: ArrayRange | ArrayRange[],
Opts<T> = {}
)
ArrayRange
object contains:
from: number
- Target index.to: number
- Destination index.Opts
object contains:
isMutate?: boolean
- Default true
- Mutate array input or create new one.isDuplicate?: boolean
- Default false
- Duplicate the traveled element or not.isSwap?: boolean
- Default false
- Swap between array elements.fill?: T
- Fill the original position with a value.move
Trying default options:
const INPUT = ["first", "second", "third", "fourth"];
const movingMap = [{ from: 0, to: 3 }];
const result = move(INPUT, movingMap);
>> result= ["fourth", "second", "third", "first"];
Enables isDuplicate:true
:
const INPUT = ["first", "second", "third", "fourth"];
const movingMap = [{ from: 0, to: 3 }];
const result = move(INPUT, movingMap, { isDuplicate: true });
//
>> result= ["first", "second", "third", "first"];
With nullish:
const INPUT = ["first", "second", "third", "fourth"];
const movingMap = [{ from: 0, to: 3 }];
const result = move(INPUT, movingMap, {
isDuplicate: false,
isSwap: false,
});
>> result = [null, "second", "third", "first"];
With custom fill:
const INPUT = ["first", "second", "third", "fourth"];
const movingMap = [{ from: 0, to: 3 }];
const result = move(INPUT, movingMap, {
fill: "emptiness"
});
>> result = ["emptiness", "second", "third", "first"];
Compare elements of the first array with the rest of arrays.
function compare<T>(...args: T[][])
compare
const diff = compare(["a", "b", "c"], ["b", "c", "e"]);
> diff = ["a"]
Compare elements in all inputs and gets the difference.
function compareBoth<T>(...args: T[][])
compareBoth
const allDiff = compareBoth(["a", "b", "c"], ["b", "c", "e"]);
> allDiff = ["a", "e"]
Flatten an array
function flatten<T>(unFlatten: T[])
flatten
const flattened = flatten([[1, [2, 3]], [1, [2, 3]], 0]);
> flattened = [1, 2, 3, 1, 2, 3, 0]
Convert an input to array
function flatten<T>(unFlatten: T[])
toArray
const array = toArray("a");
> array = ["a"]
npm test
This project is licensed under the MIT
builderz - Zero Configuration JS bundler.
validate-access - Utility functions, parse and validate a given directory with multiple entries.
get-info - Utility functions for projects production.
textics & textics-stream - Counts lines, words, chars and spaces for a given string.
Support this package by giving it a Star ⭐