tools-for-js 1.5.1 → 1.5.3
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.
- package/lib/index.js +8 -2
- package/lib/utils/common.js +9 -7
- package/lib/utils/object.js +18 -4
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -213,10 +213,16 @@ Object.defineProperty(exports, "isExpires", {
|
|
|
213
213
|
return _time.isExpires;
|
|
214
214
|
}
|
|
215
215
|
});
|
|
216
|
-
Object.defineProperty(exports, "
|
|
216
|
+
Object.defineProperty(exports, "isJsonString", {
|
|
217
217
|
enumerable: true,
|
|
218
218
|
get: function get() {
|
|
219
|
-
return _object.
|
|
219
|
+
return _object.isJsonString;
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
Object.defineProperty(exports, "jsonParse", {
|
|
223
|
+
enumerable: true,
|
|
224
|
+
get: function get() {
|
|
225
|
+
return _object.jsonParse;
|
|
220
226
|
}
|
|
221
227
|
});
|
|
222
228
|
Object.defineProperty(exports, "lowercaseKeys", {
|
package/lib/utils/common.js
CHANGED
|
@@ -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)
|
|
94
|
-
//
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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)
|
|
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/lib/utils/object.js
CHANGED
|
@@ -4,7 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getValByKey = void 0;
|
|
7
|
-
exports.
|
|
7
|
+
exports.isJsonString = isJsonString;
|
|
8
|
+
exports.jsonParse = jsonParse;
|
|
8
9
|
exports.objectToQs = void 0;
|
|
9
10
|
/*******
|
|
10
11
|
* @description: 将对象转换为查询字符串
|
|
@@ -42,11 +43,24 @@ var getValByKey = exports.getValByKey = function getValByKey(obj, key) {
|
|
|
42
43
|
* @param {String} str
|
|
43
44
|
* @return {Object|Boolean}
|
|
44
45
|
*/
|
|
45
|
-
function
|
|
46
|
+
function isJsonString(str) {
|
|
46
47
|
try {
|
|
47
|
-
|
|
48
|
-
return res;
|
|
48
|
+
return Boolean(JSON.parse(str));
|
|
49
49
|
} catch (e) {
|
|
50
50
|
return false;
|
|
51
51
|
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/*******
|
|
55
|
+
* @description: 将字符串解析为对象
|
|
56
|
+
* @author: 琴时
|
|
57
|
+
* @param {String} str
|
|
58
|
+
* @return {Object}
|
|
59
|
+
*/
|
|
60
|
+
function jsonParse(str) {
|
|
61
|
+
try {
|
|
62
|
+
return JSON.parse(str);
|
|
63
|
+
} catch (e) {
|
|
64
|
+
return {};
|
|
65
|
+
}
|
|
52
66
|
}
|