@gacquroff/lotide
v1.0.1
Published
A simplified Lodash clone for Lighthouse Labs bootcamp.
Downloads
7
Readme
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 elementmiddle(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.