Socket
Socket
Sign inDemoInstall

fast-deep-equal

Package Overview
Dependencies
0
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    fast-deep-equal

Fast deep equal


Version published
Weekly downloads
42M
decreased by-8.73%
Maintainers
1
Install size
9.40 kB
Created
Weekly downloads
 

Package description

What is fast-deep-equal?

The fast-deep-equal package is a fast deep equality comparison library. It allows developers to check if two objects, arrays, or values are deeply equal to each other, meaning that their structure and nested values are identical.

What are fast-deep-equal's main functionalities?

Deep equality check for objects

This feature allows you to compare two objects to determine if they are deeply equal.

const equal = require('fast-deep-equal');
const obj1 = { a: 1, b: { c: 2 } };
const obj2 = { a: 1, b: { c: 2 } };
console.log(equal(obj1, obj2)); // true

Deep equality check for arrays

This feature allows you to compare two arrays to determine if they are deeply equal, including nested arrays.

const equal = require('fast-deep-equal');
const arr1 = [1, 2, [3, 4]];
const arr2 = [1, 2, [3, 4]];
console.log(equal(arr1, arr2)); // true

Deep equality check for values

This feature allows you to compare two primitive values to determine if they are equal.

const equal = require('fast-deep-equal');
const val1 = 'value';
const val2 = 'value';
console.log(equal(val1, val2)); // true

Other packages similar to fast-deep-equal

Readme

Source

fast-deep-equal

The fastest deep equal

Build Status npm npm Coverage Status

This readme is for pre-release v3 with ES6 Map, Set and Typed arrays support.

See branch v2 for the main version.

Install

To install v3 pre-release with ES6 Map, Set and Typed arrays support

npm install fast-deep-equal@beta

To install v2

npm install fast-deep-equal

Features

  • ES5 compatible
  • works in node.js (8+) and browsers (IE9+)
  • checks equality of Date and RegExp objects by value.

ES6 equal (require('fast-deep-equal/es6')) also supports:

  • Maps
  • Sets
  • Typed arrays

Usage

var equal = require('fast-deep-equal');
console.log(equal({foo: 'bar'}, {foo: 'bar'})); // true

To support ES6 Maps, Sets and Typed arrays equality use:

var equal = require('fast-deep-equal/es6');
console.log(equal(Int16Array([1, 2]), Int16Array([1, 2]))); // true

Performance benchmark

Node.js v12.6.0:

fast-deep-equal x 325,485 ops/sec ±0.57% (86 runs sampled)
fast-deep-equal/es6 x 261,338 ops/sec ±0.45% (89 runs sampled)
nano-equal x 231,064 ops/sec ±0.62% (88 runs sampled)
shallow-equal-fuzzy x 164,828 ops/sec ±0.87% (88 runs sampled)
underscore.isEqual x 91,247 ops/sec ±0.56% (88 runs sampled)
lodash.isEqual x 48,000 ops/sec ±0.48% (86 runs sampled)
deep-equal x 73,699 ops/sec ±0.55% (86 runs sampled)
deep-eql x 42,804 ops/sec ±0.45% (87 runs sampled)
ramda.equals x 15,119 ops/sec ±0.49% (87 runs sampled)
util.isDeepStrictEqual x 58,458 ops/sec ±0.56% (89 runs sampled)
assert.deepStrictEqual x 583 ops/sec ±0.47% (87 runs sampled)

The fastest is fast-deep-equal

To run benchmark (requires node.js 6+):

npm install
npm run build
node benchmark

License

MIT

Keywords

FAQs

Last updated on 07 Jul 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc