@omaryrajaa/lotide

lotide

Usage no npm install needed!

<script type="module">
  import omaryrajaaLotide from 'https://cdn.skypack.dev/@omaryrajaa/lotide';
</script>

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 @omaryrajaa/lotide

Require it:

const _ = require('@omaryrajaa/lotide');

Call it:

const results = _.tail([1, 2, 3]) // => [2, 3]

Documentation

The following functions are currently implemented:

  • head(array): It should not return the first element as an array. It should simply return the element itself.

  • tail(array): It should return the "tail" of an array: everything except for the first item (head) of the provided array.

  • middle(array): It should return the middle-most element(s) of the given array.

  • without(sourceArray, itemsToRemove): It should return a subset of a given array, removing unwanted elements.

  • takeUntil(array, callback): It should return a "slice of the array with elements taken from the beginning." It should keep going until the callback/predicate returns a truthy value.

  • map(array, callback): It should return a new array based on the results of the callback function

  • letterPositions(sentence): It should return all the indices (zero-based positions) in the string where each character is found.

  • findKeyByValue(ObjectA, value): It should scan 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.

  • findKey(object1, callback): It should scan the object and return the first key for which the callback returns a truthy value. If no key is found, then it should return undefined.

  • countOnly(allItems, itemsToCount): It should take in a collection of items and return counts for a specific subset of those items.

  • countLetters(sentence): It should take in a sentence (as a string) and then return a count of each of the letters in that sentence.

  • eqObjects(object1, object):It should Returns true if both objects have identical keys with identical values.Otherwise you get back a big fat false!

  • eqArrays(array1, array2): It takes in two arrays and returns true or false, based on a perfect match.

  • head): returns the first element in an array.

  • function(tail): remove the head of the array and returns the rest.

  • function(countLetters): returns an object which contains each letter in a string with its number of occurrences.

  • function(countOnly): counts items in an array that satisfies a given array of items.

  • function(eqArrays): compares two arrays return Boolean.

  • function(eqObjects): compares two objects return Boolean.

  • function(findKey): search the object and return the first key which satisfies a given callback.

  • function(findKeyByValue): returns the key in an object where its value matches a given value.

  • function(letterPositions): returns an object with every letter in a string (as key) and its position (as value).

  • function(map): creates a new array with the result of calling a callback function applied on every element in the calling array.

  • function(middle): returns the middle element(s) of an array.

  • function(takeUntil): returns a slice of the array with elements taken from the beginning until a callback function is satisfied.