UNPKG

ut2

Version:

一个现代 JavaScript 实用工具库。[点击查看在线文档]。

29 lines (25 loc) 801 B
'use strict'; var eq = require('./eq.js'); var native = require('./internals/native.js'); function shallowEqual(objA, objB, strictCheck) { if (strictCheck === void 0) { strictCheck = true; } if (eq(objA, objB, strictCheck)) { return true; } if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) { return false; } var keysA = Object.keys(objA); var keysB = Object.keys(objB); if (keysA.length !== keysB.length) { return false; } for (var i = 0; i < keysA.length; i++) { var key = keysA[i]; if (!native.objectProtoHasOwnProperty.call(objB, key) || !eq(objA[key], objB[key], strictCheck)) { return false; } } return true; } module.exports = shallowEqual;