≡ isEq.js -- deep compare objects and arrays in JavaScript
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Muthu Kumar 40b2a1567e Bump to v1.0.3 7 years ago
dist Minor bugfixes 7 years ago
LICENSE Create LICENSE 7 years ago
README.md Update README.md 7 years ago
isEq.js Removed unreachable break statements 7 years ago
package.json Bump to v1.0.3 7 years ago

README.md

isEq -- Deep-compare objects

isEq is a very tiny module that deep compares objects or arrays.

Although its intention is deep comparison, isEq can compare several datatypes.

Supports

Datatype Support
Number
String
Boolean
Regexp
Object
Array
Cyclic Object/Array
Function
Symbol
Blob

Installation

Node:

npm install --save @codefeathers/iseq

In the browser:

<script src="https://unpkg.com/@codefeathers/iseq">

Usage

isEq(<sourceObject>, <compareObject>, [comparisonKeys])

where if comparison keys are not given, compareObject is compared against all keys of sourceObject.

Example

So you want to filter all the entities in Steins;Gate that have the property isEvil: true.

var entities = [
	{
		name: 'Future Gadget Laboratory',
		isEvil: false,
		after: 'Disrupting the status quo',
		"known-members": [
			{ name: 'Okabe Rintarou', gender: 'Male', occupation: 'University student' },
			{ name: 'Mayuri Shiina', gender: 'Female', occupation: 'Maid at May Queen' },
			{ name: 'Itaru Hashida', gender: 'Male', occupation: 'Hacker' },
		],
	},
	{
		name: 'SERN',
		isEvil: true,
		after: 'IBN 5100',
		"known-members": [
			{ name: 'Yuugo Tennouji', gender: 'Male', occupation: 'CRT mechanic' },
			{ name: 'Moeka Kiryū', gender: 'Female', occupation: 'Part-time editor' },
		],
	},
	{
		name: 'Strategic Focus',
		isEvil: true,
		after: 'Time travel',
		"known-members": [
			{ name: 'Alexis Leskinen', gender: 'Male', occupation: 'Professor' },
		],
	},
]

const evilEntities = entities.filter(eachEntity => isEq(eachEntity, { isEvil: true }, ['isEvil']));



Written by @MKRhere