@kenkneelee/lotide
v1.0.5
Published
A mini clone of the Lodash library created for Lighthouse Labs web dev bootcamp.
Downloads
5
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. It includes several simple functions mostly to operate on arrays and objects. Writing Lotide helped to solidify fundamental programming concepts (FOCAL - Functions, Objects, Conditions, Arrays, Loops) and provided practice on writing modular and reusable code.
Usage
Install it:
npm install @kenkneelee/lotide
Require it:
const _ = require('@kenkneelee/lotide');
Call it:
const results = _.tail([1, 2, 3]) // => [2, 3]
Documentation
The following functions are currently implemented:
Equality and Assertion Functions
assertEqual(actual, expected)
: prints result of equality comparison between two values to consoleeqArrays(array1, array2)
: returns truthy/falsy result of equality comparison between two input arraysassertArraysEqual(array1, array2)
: prints result of array equality comparison to consoleeqObjects(object1, object2)
: returns truthy/falsy result of object equality comparisonassertObjectsEqual(object1, object2)
: prints result of object equality comparison to console
Array Functions
head(array)
: returns the first element of an input arraytail(array)
: returns all but the first element of an input arraymiddle(array)
: returns an array of the middle value(s) of an input arrayflatten(nestedArray)
: given nested array, flattens inside arrays and moves them one level upwithout(source, itemsToRemove)
: given a source array and itemsToRemove array, removes all instances of every item in itemsToRemove from source and returns filtered array.
Array and Object Manipulation
countLetters(sentence)
: given an input sentence, returns an object with key:value pairs corresponding to occurrences of each charactercountOnly(allItems, itemsToCount)
: given an array (allItems) to search and object itemsToCount {key:boolean}, return an object with key:value pairs corresponding to search:occurrencesletterPositions(sentence)
: Given a sentence, returns an object with key:value pairs corresponding to characters: positions of each occurrence of the character.findKeyByValue(contentList, searchTerm)
: given an object to search and a property value, return the name of the first property whose value matches search term
Functions using Callbacks
findKey(object, callback)
: given an object and callback, loop through the object's keys and return first key that returns truthy value from callback. Returns undefined if no matches found.map(array, callback)
: given an array and callback, perform the callback function on every element in the arraytakeUntil(array, callback)
: given an array and callback, return new array with all original values until the first value that fulfills callback