UNPKG

flo-utils

Version:
45 lines (32 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _isObject = _interopRequireDefault(require("./isObject")); var _util = require("./warn/util"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function isEquivalentObj(a, b) { if (!(0, _isObject.default)(a) || !(0, _isObject.default)(b)) { (0, _util.consoleWran)('type is object'); return false; } // 获取对象属性的所有的键 var aProps = Object.getOwnPropertyNames(a); var bProps = Object.getOwnPropertyNames(b); // 如果键的数量不同,那么两个对象内容也不同 if (aProps.length !== bProps.length) { return false; } for (var i = 0, len = aProps.length; i < len; i += 1) { var propName = aProps[i]; if (typeof a[propName] !== 'function' || !_typeof(b[propName]) !== 'function') { // 如果对应的值不同,那么对象内容也不同 if (a[propName] !== b[propName]) { return false; } } } return true; } var _default = isEquivalentObj; exports.default = _default;