Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

deepEqual

Test for deep equality between two values.

Usage

var deepEqual = require( '@stdlib/assert/deep-equal' );

deepEqual( a, b )

Returns a boolean indicating if a is deep equal to b.

var bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, 3 ] ); // returns true bool = deepEqual( [ 1, 2, 3 ], [ 1, 2, '3' ] ); // returns false bool = deepEqual( { 'a': 2 }, { 'a': [ 2 ] } ); // returns false

Notes

  • The function uses strict equality checks (===) and does not perform any type coercion.
  • When given two objects, only enumerable own properties are recursively compared.

Examples

var deepEqual = require( '@stdlib/assert/deep-equal' ); var a = [ true, false, true ]; var b = [ true, false, true ]; var bool = deepEqual( a, b ); // returns true b.pop(); bool = deepEqual( a, b ); // returns false a = { 'a': { 'b': { 'c': 'd' } } }; b = { 'a': { 'b': { 'c': 'd' } } }; bool = deepEqual( a, b ); // returns true b.a.b.c = null; bool = deepEqual( a, b ); // returns false a = { 'a': [ { 'b': 0 }, { 'c': 1 } ] }; b = { 'a': [ { 'b': 0 }, { 'c': 1 } ] }; bool = deepEqual( a, b ); // returns true b = { 'a': [ { 'b': [ 0 ] }, { 'c': '1' } ] }; bool = deepEqual( a, b ); // returns false

See Also