A mini clone of the Lodash library.
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.
Install it:
npm install @siuc/lotide
Require it:
const _ = require('@siuc/lotide');
Call it:
const results = _.tail([1, 2, 3]) // => [2, 3]
The following functions are currently implemented:
assertArraysEqual(array1, array2)
: take in two arrays and print out a message telling us if they match or notassertEqual(value1, value2)
: compare the two values it takes in and print out a message telling us if they match or notassertObjectsEqual(object1, object2)
: take in two objects and print out a message telling us if they match or notcountLetters(string)
: take in a sentence (as a string) and then return a count of each of the letters in that sentence (as an object)countOnly(allItems, itemsToCount)
: take in a collection of items and return counts for a specific subset of those items. It won't count everything. In order to decide what to count, it will also be given an idea of which items we care about and it will only count those, ignoring the otherseqArrays(array1, array2)
: takes in two arrays and returns true or false, based on a perfect matcheqObjects(object1, object2)
: takes in two objects and returns true or false, based on a perfect matchfindKey(object, callback)
: takes in an object and a callback. It scans the object and return the first key for which the callback returns a truthy value. If no key is found, then undefined is returned.findKeyByValue(object, vallue)
: takes in an object and a value. It scans the object and return the first key which contains the given value. If no key with that given value is found, then it should return undefined.flatten(array)
: Given an array with other arrays inside, it can flatten it into a single-level arrayhead(array)
: retrieve the first element from the arrayletterPositions(string)
: return all the indices (zero-based positions) in the string where each character is found (as an object with values of array)map(array, callback)
: creates a new array with the results of a callback function on every element in the arraymiddle(array)
: take in an array and return the middle-most element(s) of the given arraytail(arr)
: returns the "tail" of an array: everything except for the first item (head) of the provided arraytakeUntil(array, callback)
: return a "slice of the array with elements taken from the beginning." It keeps going until the callback/predicate returns a truthy valuewithout(source, itemsToRemove)
: take in a source array and a itemsToRemove array. It should return a new array with only those elements from source that are not present in the itemsToRemove array