Skip to content

jalal246/move-position

Folders and files

NameName
Last commit message
Last commit date

Latest commit

40b0439 · Sep 1, 2022

History

48 Commits
Mar 3, 2021
Mar 3, 2021
Mar 3, 2021
Mar 3, 2021
Mar 3, 2021
Mar 3, 2021
Mar 3, 2021
Jul 27, 2021
Mar 3, 2021
Jul 27, 2021

Repository files navigation

move-position

Move element in a given array from one index to another ..with some extra functions.

npm install move-position

API

move

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.

Example - 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

Compare elements of the first array with the rest of arrays.

function compare<T>(...args: T[][])

Example - compare

const diff = compare(["a", "b", "c"], ["b", "c", "e"]);

> diff = ["a"]

compareBoth

Compare elements in all inputs and gets the difference.

function compareBoth<T>(...args: T[][])

Example - compareBoth

const allDiff = compareBoth(["a", "b", "c"], ["b", "c", "e"]);

> allDiff = ["a", "e"]

flatten

Flatten an array

function flatten<T>(unFlatten: T[])

Example - flatten

const flattened = flatten([[1, [2, 3]], [1, [2, 3]], 0]);

> flattened = [1, 2, 3, 1, 2, 3, 0]

toArray

Convert an input to array

function flatten<T>(unFlatten: T[])

Example - toArray

const array = toArray("a");

> array = ["a"]

Tests

npm test

License

This project is licensed under the MIT

Related projects

  • 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 ⭐