Lotide
A mini clone of the Lodash library.
Purpose
BEWARE: This library was published for learning purposes. It is not intended for use in production-grade software.
This project was created and published by me as part of my learnings at Lighthouse Labs.
Usage
Install it:
npm install @gacquroff/lotide
Require it:
const _ = require('@gacquroff/lotide');
Call it:
const results = _.tail([1, 2, 3]) // => [2, 3]
Documentation
The following functions are currently implemented:
-
head(array)
: Return the first element ofarray
-
tail(array)
: Returnarray
without the first element -
middle(array)
: Returns an array containing the middle element ofarray
ifarray.length
is odd. Otherwise returns an array containing the middle two elements. -
assertArraysEqual(arr1, arr2)
: Check if two arrays are equal. Does not work on objects nested inside the array. Prints equality message to the console. -
assertEqual(value1, value2)
: Check if two primitive values are equal. Prints equality message to the console. -
assertObjectsEqual(obj1, obj2)
: Check if two objects are equal. Works with nested objects, but does not work with objects nested inside arrays inside the parent objects. -
countLetter(string)
: Returns an object containing the counts of each letter instring
. -
countOnly(allItems, itemsToCount)
: Returns an object containing the counts of each item initemsToCount
that appears inallItems
. -
eqArrays(arr1, arr2)
: Returns true ifarr1
is equal toarr2
. Returns false otherwise. Works with nested arrays. -
eqObjects(obj1, obj2)
: Returns true ifobj1
is equal toobj2
. Returns false otherwise. Works with nested objects, but does not work with objects nested inside arrays inside the parent objects. -
findKey(obj, callback)
: Returns the key of the first property inobj
that causescallback
to return true. -
findKeyByValue(obj, value)
: Returns the key of the first property inobj
that has the valuevalue
. -
flatten(array)
: Returns an array of depth = 1 containing all elements inarray
. -
joinList(array)
: Returns a string containing all elements ofarray
concatenated together with,
. -
letterPositions(string)
: Returns an object where each property has key of letter instring
and value of an array containing all zero-indexed positions that letter appears in string. -
map(array, callback)
: Returns an array that contains each element ofarray
transformed by applying acallback
function. -
min(numbers)
: Returns the smallest number in an array ofnumbers
. -
takeUntil(array, callback)
: Returns a deep copy ofarray
up until acallback
function applied to anarray
element returns true. -
without(array, itemsToExclude)
: Returns a shallow copy ofarray
with all items present initemsToExclude
excluded.