1.0.0 • Published 1 year ago

@hero-page/hero-array-utils v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago
            _This entire repository was created completely with **AI**, using the [hero-ai-package-creator](https://github.com/hero-page/hero-ai-package-creator), which is **open-source**, uses **GPT-4**, and is written & maintained by [**Sam Chahine**](https://hero.page/samir)_ ❣️🧞‍♀️ 



            # hero-array-utils

A collection of functions to enhance array manipulation, such as sorting, filtering, mapping, and reducing.

Installation

npm install hero-array-utils

Functions

arrayFilter()

Summary: Filters an array based on the provided callback function. The callback function should return a boolean value. It will keep elements in the final output array when the callback function returns 'true' and remove them when it returns 'false'. The function handles numbers, strings, and objects. Extreme cases like empty arrays and large input arrays must be handled. However, it does not handle circular structures or nested arrays beyond level 1.

Usage:

const { arrayFilter } = require('hero-array-utils');

const numbers = [1, 2, 3, 4, 5];
const evenNumbers = arrayFilter(numbers, (num) => num % 2 === 0);
console.log(evenNumbers);
// Output: [2, 4]

arrayMergeSort()

Summary: Sorts an array, using the merge sort algorithm, based on the provided compare function or in ascending order if no compare function is provided. It is capable of sorting numbers, strings, and objects. Extreme cases like sorting an array with only ascending or descending elements, handling equal elements, or very large input arrays must be properly addressed. Nested arrays and circular structures should be ignored.

Usage:

const { arrayMergeSort } = require('hero-array-utils');

const numbers = [5, 2, 9, 3, 7];
const sortedNumbers = arrayMergeSort(numbers);
console.log(sortedNumbers);
// Output: [2, 3, 5, 7, 9]

const strings = ['apple', 'orange', 'banana', 'kiwi'];
const sortedStrings = arrayMergeSort(strings);
console.log(sortedStrings);
// Output: ['apple', 'banana', 'kiwi', 'orange']

Author

Sam Chahine, at Hero

Tests for arrayFilter

arrayFilter

Tests for arrayMergeSort

arrayMergeSort