tools-for-js 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -90,18 +90,20 @@ var isEmpty = exports.isEmpty = function isEmpty(params) {
90
90
  var isEqual = exports.isEqual = function isEqual(a, b) {
91
91
  // 类型为基本类型时,如果相等,则返回true
92
92
  if (a === b) return true;
93
- if (IsType('Object', a) && IsType('Object', b) && Object.keys(a).length === Object.keys(b).length) {
94
- // 若两个参数都为对象,先判断对象长度是否相同==>遍历对象内元素是否相同
95
- for (var key in a) {
96
- if (a.hasOwnProperty(key)) {
97
- if (!isEqual(a[key], b[key])) {
93
+ if (IsType('Object', a) && IsType('Object', b)) {
94
+ // 若两个参数都为对象,先判断对象长度是否相同,再遍历对象内元素是否相同
95
+ if (Object.keys(a).length !== Object.keys(b).length) return false;
96
+ for (var k in a) {
97
+ if (a.hasOwnProperty(k)) {
98
+ if (!isEqual(a[k], b[k])) {
98
99
  // 对象中具有不相同属性 返回false
99
100
  return false;
100
101
  }
101
102
  }
102
103
  }
103
- } else if (IsType('Array', a) && IsType('Array', b) && a.length === b.length) {
104
- // 若两个参数都为数组,则先判断数组长度是否相同==>遍历数组元素是否相同
104
+ } else if (IsType('Array', a) && IsType('Array', b)) {
105
+ // 若两个参数都为数组,则先判断数组长度是否相同,遍历数组元素是否相同
106
+ if (a.length !== b.length) return false;
105
107
  for (var i = 0, length = a.length; i < length; i++) {
106
108
  if (!isEqual(a[i], b[i])) {
107
109
  // 如果数组元素中具有不相同元素,返回false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tools-for-js",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "基于babel构建的javascript工具库",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {