आप lodash.isequal
पूरे लॉकेट पैकेज को स्थापित किए बिना एकल मॉड्यूल के रूप में स्थापित कर सकते हैं :
npm install --save lodash.isequal
ECMAScript 5 और CommonJS मॉड्यूल का उपयोग करते समय, आप तब इसे इस तरह से आयात करते हैं:
var isEqual = require('lodash.isequal');
ES6 मॉड्यूल का उपयोग करना, यह होगा:
import isEqual from 'lodash.isequal';
और आप इसे अपने कोड में उपयोग कर सकते हैं:
const obj1 = {username: 'peter'};
const obj2 = {username: 'peter'};
const obj3 = {username: 'gregory'};
isEqual(obj1, obj2) // returns true
isEqual(obj1, obj3) // returns false
स्रोत: लोडश डॉक्यूमेंटेशन
आयात करने के बाद, आप isEqual
अपने कोड में फ़ंक्शन का उपयोग कर सकते हैं । ध्यान दें कि _
यदि आप इसे इस तरह से आयात करते हैं, तो यह किसी ऑब्जेक्ट का हिस्सा नहीं है , इसलिए आप
इसका संदर्भ नहीं देते हैं _.isEqual
, लेकिन सीधे साथ देते हैं isEqual
।
वैकल्पिक: का उपयोग करना lodash-es
जैसा कि @kimamula ने बताया :
वेबपैक 4 और लॉकेट-एस 4.17.7 और उच्चतर के साथ, यह कोड काम करता है।
import { isEqual } from 'lodash-es';
ऐसा इसलिए है क्योंकि वेबपैक 4 साइडफ्लेक्स फ्लैग और lodash-es
4.17.7 का समर्थन करता है और उच्चतर में फ्लैग (जो सेट है false
) शामिल है।
स्लैश के साथ संस्करण का उपयोग क्यों नहीं करें?
इस प्रश्न के अन्य उत्तर बताते हैं कि आप डॉट के बजाय डैश का उपयोग कर सकते हैं, जैसे:
import isEqual from 'lodash/isequal';
यह भी काम करता है, लेकिन दो छोटी कमियां हैं:
- आपको पूरे लॉश पैकेज को स्थापित करना होगा (
npm install --save lodash
), न कि केवल छोटे से अलग लॉश.इसेक्वल पैकेज को; भंडारण स्थान सस्ता है और सीपीयू तेज हैं, इसलिए आप इस बारे में परवाह नहीं कर सकते हैं
- वेबपैक जैसे टूल का उपयोग करते समय परिणामी बंडल थोड़ा बड़ा होगा; मुझे पता चला कि एक न्यूनतम कोड उदाहरण के साथ बंडल आकार
isEqual
औसतन 28% बड़ा होता है (वेबलॉग 2 और वेबपैक 3 की कोशिश की जाती है, बेगेल के साथ या उसके बिना या उसके बिना)