1.11.0 • Published 10 months ago

compare-arrays-ignoring-order v1.11.0

Weekly downloads
-
License
BSD-2-Clause
Repository
github
Last release
10 months ago

compare-arrays-ignoring-order

This is a very simple library containing a function that allows you to compare arrays ignoring their order. This means that if two arrays have some elements mixed up, the function will return true.

compare ext arrays ignoring order

Content:

Install

Usage

Install

npm:

npm i compare-arrays-ignoring-order

yarn:

yarn add compare-arrays-ignoring-order

Import

To import the compare function, use:

import isEqualArraysIgnoreOrder from "compare-arrays-ignoring-order";

Usage

The function has the following declaration:

function isEqualArraysIgnoreOrder(a: any, b: any): boolean;

And to use it, you must pass in arguments the two arrays you want to compare without regard to order:

const equal = isEqualArraysIgnoreOrder([1, 3, 2], [1, 2, 3]); // return true

However, if you pass arrays with different elements (even without regard to order) or with different numbers of elements, the function will return false.

Autotests are used to test the function. In order to better understand the operation of the function, see the tests walkthrough below:

isEqualArraysIgnoreOrder([], []) === true;

isEqualArraysIgnoreOrder([], [1]) === false;

isEqualArraysIgnoreOrder([2], [2]) === true;

isEqualArraysIgnoreOrder([{ a: 1, b: 2 }], [{ a: 1, b: 2 }]) === true;

isEqualArraysIgnoreOrder([{ a: "hi", b: true }], [{ b: true, a: "hi" }]) ===
  true;

isEqualArraysIgnoreOrder([{ a: "hii", b: true }], [{ b: true, a: "hi" }]) ===
  false;

isEqualArraysIgnoreOrder(
  [{ el: { a: true, b: 18, c: "hello" } }, 4, { s: 18, ff: { aa: { d: 7 } } }],
  [4, { s: 18, ff: { aa: { d: 7 } } }, { el: { b: 18, c: "hello", a: true } }]
) === true;

isEqualArraysIgnoreOrder(
  [{ el: { a: true, b: 18, c: "hello" } }, 4],
  [4, { el: { b: 5, c: "hello", a: true } }]
) === false;

isEqualArraysIgnoreOrder(
  [{ el: { a: true, b: 18, c: "hello" } }, 4],
  [4, { el: { b: 18, c: "hello", a: true } }, 1]
) === false;

isEqualArraysIgnoreOrder(
  [{ el: { a: true, b: 18, c: "hello" } }, 4],
  undefined
) === false;

Best regards, Anatoliy Aptukov.

1.11.0

10 months ago

1.9.0

10 months ago

1.8.0

10 months ago

1.7.0

10 months ago

1.6.0

10 months ago

1.10.0

10 months ago

1.4.0

10 months ago

1.3.0

10 months ago

1.2.0

10 months ago

1.1.0

10 months ago

1.0.0

10 months ago