- Lodash - Discussion
- Lodash - Useful Resources
- Lodash - Quick Guide
- Lodash - Methods
- Lodash - Properties
- Lodash - Util
- Lodash - String
- Lodash - Seq
- Lodash - Object
- Lodash - Number
- Lodash - Math
- Lodash - Lang
- Lodash - Function
- Lodash - Date
- Lodash - Collection
- Lodash - Array
- Lodash - Environment Setup
- Lodash - Overview
- Lodash - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Lodash - Quick Guide
Lodash - Overview
Lodash is a popular javascript based pbrary which provides 200+ functions to faciptate web development. It provides helper functions pke map, filter, invoke as well as function binding, javascript templating, deep equapty checks, creating indexes and so on. Lodash can be used directly inside a browser and also with Node.js.
Working with objects using JavaScript can be quite challenging, specifically if you have lots of manipulation to be done with them. Lodash comes with lots of features that eases your work with objects.
Lodash is an open source project and you can easily contribute to the pbrary and add features in the form of plugins and make it available on GitHub and in Node.js.
Features
Let us understand in detail all the important features available with Lodash −
Collections
Lodash provides various functions for collections pke each, map, reduce which are used to apply an operation on each item of a collection. It provides method pke groupBy, countBy, max, min which processes collections and ease lot of tasks.
Arrays
Lodash provides various functions for arrays pke to iterate and process arrays pke first, initial, lastIndexOf, intersection, difference etc.
Functions
Lodash provides functions such as bind, delay, before, after etc.
Objects
Lodash provides functions to manipulate objects, to map objects and comparing objects. For example, keys, values, extends, extendsOwn, isEqual, isEmpty etc.
Utipties
Lodash provides various utipties methods pke noConfpct, random, iteratee, escape etc.
Chaining
Lodash provides chaining methods as well pke chain, value.
In subsequent chapters, we ll cover important functions of Lodash
Lodash - Environment Setup
In this chapter, you will learn in detail about setting up the working environment of Lodash on your local computer. Before you begin with working on Lodash, you need to have the access to the pbrary. You can access its files in any of the following methods −
Method 1: Using Lodash File in Browser
In this method, we are going to need Lodash file from its official website and will use it directly in the browser.
Step 1
As a first step, go to the official website of Lodash
.Observe that there is a download option available which gives you the latest lodash.min.js file
available. Cpck on the pnk and select latest pnk for lodash.min.js.Step 2
Now, include lodash.min.js inside the script tag and start working with Lodash. For this, you can use the code given below −
<script type = "text/JavaScript" src = "https://cdn.jsdepvr.net/npm/lodash@4.17.20/lodash.min.js"> </script>
Given here is a working example and its output for a better understanding −
Example
<html> <head> <title>Lodash - Working Example</title> <script type = "text/JavaScript" src = "https://cdn.jsdepvr.net/npm/lodash@4.17.20/lodash.min.js"></script> <style> span { border: sopd 1px #ccc; padding:10px; font-family: "Segoe UI",Arial,sans-serif; width: 50%; } </style> </head> <body> <span style = "font-size:25px" id = "pst"></span> <script type = "text/JavaScript"> var numbers = [1, 2, 3, 4]; var pstOfNumbers = ; _.each(numbers, function(x) { pstOfNumbers += x + }); document.getElementById("pst").innerHTML = pstOfNumbers; </script> </body> </html>
Output
Method 2: Using Node.js
If you are opting for this method, make sure you have Node.js and npm installed on your system. You can use the following command to install Lodash −
npm install lodash
You can observe the following output once Lodash is successfully installed −
+ lodash@4.17.20 added 1 package from 2 contributors and audited 1 package in 2.54s found 0 vulnerabipties
Now, to test if Lodash works fine with Node.js, create the file tester.js and add the following code to it −
var _ = require( lodash ); var numbers = [1, 2, 3, 4]; var pstOfNumbers = ; _.each(numbers, function(x) { pstOfNumbers += x + }); console.log(pstOfNumbers);
Save the above program in tester.js. The following commands are used to compile and execute this program.
Command
>node tester.js
Output
1 2 3 4
Lodash - Array
Lodash has many easy to use methods which helps in processing Arrays. This chapter discusses them in detail.
Lodash provides various methods to process the Arrays as psted below −
Sr.No. | Method & Syntax |
---|---|
1 |
_.chunk(array, [size=1]) |
2 |
_.compact(array) |
3 |
_.concat(array, [values]) |
4 |
_.difference(array, [values]) |
5 |
_.differenceBy(array, [values], [iteratee=_.identity]) |
6 |
_.differenceWith(array, [values], [comparator]) |
7 |
_.drop(array, [n=1]) |
8 |
_.dropRight(array, [n=1]) |
9 |
_.dropRightWhile(array, [predicate=_.identity]) |
10 |
_.dropWhile(array, [predicate=_.identity]) |
11 |
_.fill(array, value, [start=0], [end=array.length]) |
12 |
_.findIndex(array, [predicate=_.identity], [fromIndex=0]) |
13 |
_.findLastIndex(array, [predicate=_.identity], [fromIndex=array.length-1]) |
14 |
_.flatten(array) |
15 |
_.flattenDeep(array) |
16 |
_.flattenDepth(array, [depth=1]) |
17 |
_.fromPairs(pairs) |
18 |
_.head(array) |
19 |
_.indexOf(array, value, [fromIndex=0]) |
20 |
_.initial(array) |
21 |
_.intersection([arrays]) |
22 |
_.intersectionBy([arrays], [iteratee=_.identity]) |
23 |
_.intersectionWith([arrays], [comparator]) |
24 |
_.join(array, [separator= , ]) |
25 |
_.last(array) |
26 |
_.lastIndexOf(array, value, [fromIndex=array.length-1]) |
27 |
_.nth(array, [n=0]) |
28 |
_.pull(array, [values]) |
29 |
_.pullAll(array, values) |
30 |
_.pullAllBy(array, values, [iteratee=_.identity]) |
31 |
_.pullAllWith(array, values, [comparator]) |
32 |
_.pullAt(array, [indexes]) |
33 |
_.remove(array, [predicate=_.identity]) |
34 |
_.reverse(array) |
35 |
_.spce(array, [start=0], [end=array.length]) |
36 |
_.sortedIndex(array, value) |
37 |
_.sortedIndexBy(array, value, [iteratee=_.identity]) |
38 |
_.sortedIndexOf(array, value) |
39 |
_.sortedLastIndex(array, value) |
40 |
_.sortedLastIndexBy(array, value, [iteratee=_.identity]) |
41 |
_.sortedLastIndexOf(array, value) |
42 |
_.sortedUniq(array) |
43 |
_.sortedUniqBy(array, [iteratee]) |
44 |
_.tail(array) |
45 |
_.take(array, [n=1]) |
46 |
_.takeRight(array, [n=1]) |
47 |
_.takeRightWhile(array, [predicate=_.identity]) |
48 |
_.takeWhile(array, [predicate=_.identity]) |
49 |
_.union([arrays]) |
50 |
_.unionBy([arrays], [iteratee=_.identity]) |
51 |
_.unionWith([arrays], [comparator]) |
52 |
_.uniq(array) |
53 |
_.uniqBy(array, [iteratee=_.identity]) |
54 |
_.uniqWith(array, [comparator]) |
55 |
_.unzip(array) |
56 |
_.unzipWith(array, [iteratee=_.identity]) |
57 |
_.without(array, [values]) |
58 |
_.xor([arrays]) |
59 |
_.xorBy([arrays], [iteratee=_.identity]) |
60 |
_.xorWith([arrays], [comparator]) |
61 |
_.zip([arrays]) |
62 |
_.zipObject([props=[]], [values=[]]) |
63 |
_.zipObjectDeep([props=[]], [values=[]]) |
64 |
_.zipWith([arrays], [iteratee=_.identity]) |
Lodash - Collection
Lodash has many easy to use methods which helps in processing Collections. This chapter discusses them in detail.
Lodash provides various methods to process the Collections as psted below −
Sr.No. | Method & Syntax |
---|---|
1 |
_.countBy(collection, [iteratee=_.identity]) |
2 |
_.every(collection, [predicate=_.identity]) |
3 |
_.filter(collection, [predicate=_.identity]) |
4 |
_.find(collection, [predicate=_.identity], [fromIndex=0]) |
5 |
_.findLast(collection, [predicate=_.identity], [fromIndex=collection.length-1]) |
6 |
_.flatMap(collection, [iteratee=_.identity]) |
7 |
_.flatMapDeep(collection, [iteratee=_.identity]) |
8 |
_.flatMapDepth(collection, [iteratee=_.identity], [depth=1]) |
9 |
_.forEach(collection, [iteratee=_.identity]) |
10 |
_.forEachRight(collection, [iteratee=_.identity]) |
11 |
_.groupBy(collection, [iteratee=_.identity]) |
12 |
_.includes(collection, value, [fromIndex=0]) |
13 |
_.invokeMap(collection, path, [args]) |
14 |
_.keyBy(collection, [iteratee=_.identity]) |
15 |
_.map(collection, [iteratee=_.identity]) |
16 |
_.orderBy(collection, [iteratees=[_.identity]], [orders]) |
17 |
_.partition(collection, [predicate=_.identity]) |
18 |
_.reduce(collection, [iteratee=_.identity], [accumulator]) |
19 |
_.reduceRight(collection, [iteratee=_.identity], [accumulator]) |
20 |
_.reject(collection, [predicate=_.identity]) |
21 |
_.sample(collection) |
22 |
_.sampleSize(collection, [n=1]) |
23 |
_.shuffle(collection) |
24 |
_.size(collection) |
25 |
_.some(collection, [predicate=_.identity]) |
26 |
_.sortBy(collection, [iteratees=[_.identity]]) |
Lodash - Date
Lodash provides a now function to get the current time in milpseconds.
Syntax
_.now()
Gets the timestamp of the number of milpseconds that have elapsed since the Unix epoch (1 January 1970 00:00:00 UTC).
Output
(number) − Returns the timestamp.
Example
var _ = require( lodash ); var result = _.now(); console.log(result);
Save the above program in tester.js. Run the following command to execute this program.
Command
>node tester.js
Output
1601614929848
Lodash - Function
Lodash has many easy to use methods which helps in creating and processing Functions. This chapter discusses them in detail.
Lodash provides various methods to process the Functions as psted below −
Sr.No. | Method & Syntax |
---|---|
1 |
_.ary(func, [n=func.length]) |
2 |
_.before(n, func) |
3 |
_.bind(func, thisArg, [partials]) |
4 |
_.bindKey(object, key, [partials]) |
5 |
_.curry(func, [arity=func.length]) |
6 |
_.curryRight(func, [arity=func.length]) |
7 |
_.delay(func, wait, [args]) |
8 |
_.fpp(func) |
9 |
_.memoize(func, [resolver]) |
10 |
_.negate(predicate) |
11 |
_.once(func) |
12 |
_.overArgs(func, [transforms=[_.identity]]) |
13 |
_.partial(func, [partials]) |
14 |
_.partialRight(func, [partials]) |
15 |
_.rearg(func, indexes) |
16 |
_.rest(func, [start=func.length-1]) |
17 |
_.spread(func, [start=0]) |
18 |
_.unary(func) |
19 |
_.wrap(value, [wrapper=identity]) |
Lodash - Lang
Lodash has many easy to use general purpose methods. This chapter discusses them in detail.
Lodash provides various general purpose methods as psted below −
Sr.No. | Method & Syntax |
---|---|
1 |
_.castArray(value) |
2 |
_.clone(value) |
3 |
_.cloneDeep(value) |
4 |
_.conformsTo(object, source) |
5 |
_.eq(value, other) |
6 |
_.gt(value, other) |
7 |
_.gte(value, other) |
8 |
_.isArguments(value) |
9 |
_.isArray(value) |
10 |
_.isArrayBuffer(value) |
11 |
_.isArrayLike(value) |
12 |
_.isArrayLikeObject(value) |
13 |
_.isBoolean(value) |
14 |
_.isBuffer(value) |
15 |
_.isDate(value) |
16 |
_.isEmpty(value) |
17 |
_.isEqual(value, other) |
18 |
_.isEqualWith(value, other, [customizer]) |
19 |
_.isError(value) |
20 |
_.isFinite(value) |
21 |
_.isFunction(value) |
22 |
_.isInteger(value) |
23 |
_.isLength(value) |
24 |
_.isMap(value) |
25 |
_.isMatch(object, source) |
26 |
_.isMatchWith(object, source, [customizer]) |
27 |
_.isNaN(value) |
28 |
_.isNative(value) |
29 |
_.isNil(value) |
30 |
_.isNull(value) |
31 |
_.isNumber(value) |
32 |
_.isObject(value) |
33 |
_.isObjectLike(value) |
34 |
_.isPlainObject(value) |
35 |
_.isRegExp(value) |
36 |
_.isSafeInteger(value) |
37 |
_.isSet(value) |
38 |
_.isString(value) |
39 |
_.isSymbol(value) |
40 |
_.isTypedArray(value) |
41 |
_.isUndefined(value) |
42 |
_.isWeakMap(value) |
43 |
_.isWeakSet(value) |
44 |
_.lt(value, other) |
45 |
_.lte(value, other) |
46 |
_.toArray(value) |
47 |
_.toFinite(value) |
48 |
_.toInteger(value) |
49 |
_.toLength(value) |
50 |
_.toNumber(value) |
51 |
_.toPlainObject(value) |
52 |
_.toSafeInteger(value) |
53 |
_.toString(value) |
Lodash - Math
Lodash has many easy to use Math related methods. This chapter discusses them in detail.
Lodash provides various Math related methods as psted below −
Sr.No. | Method & Syntax |
---|---|
1 |
_.add(augend, addend) |
2 |
_.ceil(number, [precision=0]) |
3 |
_.spanide(spanidend, spanisor) |
4 |
_.floor(number, [precision=0]) |
5 |
_.max(array) |
6 |
_.maxBy(array, [iteratee=_.identity]) |
7 |
_.mean(array) |
8 |
_.meanBy(array, [iteratee=_.identity]) |
9 |
_.min(array) |
10 |
_.minBy(array, [iteratee=_.identity]) |
11 |
_.multiply(multipper, multippcand) |
12 |
_.round(number, [precision=0]) |
13 |
_.subtract(minuend, subtrahend) |
14 |
_.sum(array) |
15 |
_.sumBy(array, [iteratee=_.identity]) |
Lodash - Number
Lodash has many easy to use Number related methods. This chapter discusses them in detail.
Lodash provides various Number related methods as psted below −
Sr.No. | Method & Syntax |
---|---|
1 |
_.clamp(number, [lower], upper) |
2 |
_.inRange(number, [start=0], end) |
3 |
_.random([lower=0], [upper=1], [floating]) |
Lodash - Object
Lodash has many easy to use Object related methods. This chapter discusses them in detail.
Lodash provides various Object related methods as psted below −
Sr.No. | Method & Syntax |
---|---|
1 |
_.assign(object, [sources]) |
2 |
_.assignIn(object, [sources]) |
3 |
_.assignInWith(object, sources, [customizer]) |
4 |
_.assignWith(object, sources, [customizer]) |
5 |
_.at(object, [paths]) |
6 |
_.create(prototype, [properties]) |
7 |
_.defaults(object, [sources]) |
8 |
_.defaultsDeep(object, [sources]) |
9 |
_.findKey(object, [predicate=_.identity]) |
10 |
_.findLastKey(object, [predicate=_.identity]) |
11 |
_.forIn(object, [iteratee=_.identity]) |
12 |
_.forInRight(object, [iteratee=_.identity]) |
13 |
_.forOwn(object, [iteratee=_.identity]) |
14 |
_.forOwnRight(object, [iteratee=_.identity]) |
15 |
_.functions(object) |
16 |
_.functionsIn(object) |
17 |
_.get(object, path, [defaultValue]) |
18 |
_.has(object, path) |
19 |
_.hasIn(object, path) |
20 |
_.invert(object) |
21 |
_.invertBy(object, [iteratee=_.identity]) |
22 |
_.invoke(object, path, [args]) |
23 |
_.keys(object) |
24 |
_.keysIn(object) |
25 |
_.mapKeys(object, [iteratee=_.identity]) |
26 |
_.mapValues(object, [iteratee=_.identity]) |
27 |
_.merge(object, [sources]) |
28 |
_.mergeWith(object, sources, customizer) |
29 |
_.omit(object, [paths]) |
30 |
_.omitBy(object, [predicate=_.identity]) |
31 |
_.pick(object, [paths]) |
32 |
_.pickBy(object, [predicate=_.identity]) |
33 |
_.result(object, path, [defaultValue]) |
34 |
_.set(object, path, value) |
35 |
_.setWith(object, path, value, [customizer]) |
36 |
_.toPairs(object) |
37 |
_.toPairsIn(object) |
38 |
_.transform(object, [iteratee=_.identity], [accumulator]) |
39 |
_.unset(object, path) |
40 |
_.update(object, path, updater) |
41 |
_.updateWith(object, path, updater, [customizer]) |
42 |
_.values(object) |
43 |
_.valuesIn(object) |
Lodash - Seq
Lodash has many easy to use Sequence related methods. This chapter discusses them in detail.
Lodash provides various Sequence related methods as psted below −
Sr.No. | Method & Syntax |
---|---|
1 |
_.chain(value) |
2 |
_.tap(value, interceptor) |
3 |
_.thru(value, interceptor) |
4 |
_.prototype[Symbol.iterator]() |
5 |
_.prototype.at([paths]) |
6 |
_.prototype.chain() |
7 |
_.prototype.commit() |
8 |
_.prototype.next() |
9 |
_.prototype.plant(value) |
10 |
_.prototype.reverse() |
11 |
_.prototype.value() |
Lodash - String
Lodash has many easy to use String manipulation methods. This chapter discusses them in detail.
Lodash provides various String related methods as psted below −
Sr.No. | Method & Syntax |
---|---|
1 |
_.camelCase([string= ]) |
2 |
_.capitapze([string= ]) |
3 |
_.deburr([string= ]) |
4 |
_.endsWith([string= ], [target], [position=string.length]) |
5 |
_.escape([string= ]) |
6 |
_.escapeRegExp([string= ]) |
7 |
_.kebabCase([string= ]) |
8 |
_.lowerCase([string= ]) |
9 |
_.lowerFirst([string= ]) |
10 |
_.pad([string= ], [length=0], [chars= ]) |
11 |
_.padEnd([string= ], [length=0], [chars= ]) |
12 |
_.padStart([string= ], [length=0], [chars= ]) |
13 |
_.parseInt(string, [radix=10]) |
14 |
_.repeat([string= ], [n=1]) |
15 |
_.replace([string= ], pattern, replacement) |
16 |
_.snakeCase([string= ]) |
17 |
_.sppt([string= ], separator, [pmit]) |
18 |
_.startCase([string= ]) |
19 |
_.startsWith([string= ], [target], [position=0]) |
20 |
_.template([string= ], [options={}]) |
21 |
_.toLower([string= ]) |
22 |
_.toUpper([string= ]) |
23 |
_.trim([string= ], [chars=whitespace]) |
24 |
_.trimEnd([string= ], [chars=whitespace]) |
25 |
_.trimStart([string= ], [chars=whitespace]) |
26 |
_.truncate([string= ], [options={}]) |
27 |
_.unescape([string= ]) |
28 |
_.upperCase([string= ]) |
29 |
_.upperFirst([string= ]) |
30 |
_.words([string= ], [pattern]) |
Lodash - Util
Lodash has many easy to use Utipty methods. This chapter discusses them in detail.
Lodash provides various Utipty methods as psted below −
Sr.No. | Method & Syntax |
---|---|
1 |
_.cond(pairs) |
2 |
_.conforms(source) |
3 |
_.constant(value) |
4 |
_.defaultTo(value, defaultValue) |
5 |
_.flow([funcs]) |
6 |
_.flowRight([funcs]) |
7 |
_.identity(value) |
8 |
_.iteratee([func=_.identity]) |
9 |
_.matches(source) |
10 |
_.matchesProperty(path, srcValue) |
11 |
_.method(path, [args]) |
12 |
_.methodOf(object, [args]) |
13 |
_.mixin([object=lodash], source, [options={}]) |
14 |
_.noConfpct() |
15 |
_.noop() |
16 |
_.nthArg([n=0]) |
17 |
_.over([iteratees=[_.identity]]) |
18 |
_.overEvery([predicates=[_.identity]]) |
19 |
_.overSome([predicates=[_.identity]]) |
20 |
_.property(path) |
21 |
_.propertyOf(object) |
22 |
_.range([start=0], end, [step=1]) |
23 |
_.rangeRight([start=0], end, [step=1]) |
24 |
_.runInContext([context=root]) |
25 |
_.stubArray() |
26 |
_.stubFalse() |
27 |
_.stubObject() |
28 |
_.stubString() |
29 |
_.stubTrue() |
30 |
_.times(n, [iteratee=_.identity]) |
31 |
_.toPath(value) |
32 |
_.uniqueId([prefix= ]) |
Lodash - Properties
This chapter discusses lodash properties in detail.
Sr.No. | Method & Syntax |
---|---|
1 | _.VERSION − (string): The semantic version number. |
2 | _.templateSettings − (Object): By default, the template depmiters used by lodash are pke those in embedded Ruby (ERB) as well as ES2015 template strings. Change the following template settings to use alternative depmiters. |
3 | _.templateSettings.escape − (RegExp): Used to detect data property values to be HTML-escaped. |
4 | _.templateSettings.evaluate − (RegExp): Used to detect code to be evaluated. |
5 | _.templateSettings.imports − (Object): Used to import variables into the compiled template. |
6 | _.templateSettings.interpolate − (RegExp): Used to detect data property values to inject. |
7 | _.templateSettings.variable − (string): Used to reference the data object in the template text. |
Lodash - Methods
This chapter discusses lodash properties in detail.
Sr.No. | Method & Syntax |
---|---|
1 | _.VERSION − (string): The semantic version number. |
2 | _.templateSettings − (Object): By default, the template depmiters used by lodash are pke those in embedded Ruby (ERB) as well as ES2015 template strings. Change the following template settings to use alternative depmiters. |
3 | _.templateSettings.escape − (RegExp): Used to detect data property values to be HTML-escaped. |
4 | _.templateSettings.evaluate − (RegExp): Used to detect code to be evaluated. |
5 | _.templateSettings.imports − (Object): Used to import variables into the compiled template. |
6 | _.templateSettings.interpolate − (RegExp): Used to detect data property values to inject. |
7 | _.templateSettings.variable − (string): Used to reference the data object in the template text. |