move-position
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0 • Public • Published

    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

    Install

    npm i move-position

    DownloadsWeekly Downloads

    45

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    10.1 kB

    Total Files

    7

    Last publish

    Collaborators

    • jimmy02020