Array (helping-js/core/array)

Array utilities: indexing, diffing, chunking, deduping, filtering. Uses Array.isArray via isArray from core/types.

Imports

import {
  arrayRemove,
  arrayRemoveBySortedIndexes,
  arrayAt,
  arrayFirst,
  arrayLast,
  arrayDiff,
  indexesOf,
  getArrayItemSiblingsByOffsets,
  toArrayIfNot,
  splitArray,
  groupArray,
  arrayDistinct,
  arrayBetween,
  arrayWithoutEnd,
  arrayFlat,
  arrayFilter,
  arrayWithout,
} from 'helping-js/core/array'

Highlights

FunctionRole
arrayAt(arr, n)Supports negative indices
arrayDiff(a, b)Sorted multiset diff [onlyInA, onlyInB]
splitArray(arr, n)Fixed-size chunks
groupArray(arr, getMark)Map of groups
arrayDistinct(arr)Unique values (Set)
arrayWithout(arr, ...items)Exclude values

Samples

Pagination chunks

const pages = splitArray(items, 20)
const page0 = pages[0] ?? []

Remove duplicates

const ids = arrayDistinct(rawIds)

Sorted diff (inputs must be sorted)

const [onlyLeft, onlyRight] = arrayDiff([1, 2, 2], [2, 3])

React: normalise prop to array

import { toArrayIfNot } from 'helping-js/core/array'

const list = toArrayIfNot(props.id) // string | string[] -> string[]

Vue: neighbours

import { getArrayItemSiblingsByOffsets } from 'helping-js/core/array'

const [prev, next] = getArrayItemSiblingsByOffsets(rows, activeRow, [-1, 1])

Back to Helpers overview

Last Updated:
Contributors: parsajiravand