tools-for-js
Version:
基于babel构建的JavaScript前端工具库
66 lines (62 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getValByKey = void 0;
exports.isJsonString = isJsonString;
exports.jsonParse = jsonParse;
exports.objectToQs = void 0;
/*******
* @description: 将对象转换为查询字符串
* @author: 琴时
* @param {*} obj
* @return {String}
* @example: objectToQs({a: 1, b: 2}) => 'a=1&b=2'
*/
var objectToQs = exports.objectToQs = function objectToQs(obj) {
return Object.keys(obj).map(function (key) {
return "".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(obj[key]));
}).join('&');
};
/*******
* @description: 根据key获取对象值
* @author: 琴时
* @param {Object} obj
* @param {String} key
* @return {*}
* @example: getValByKey({a: {b: {c: 1}}}, 'a.b.c') => 1
*/
var getValByKey = exports.getValByKey = function getValByKey(obj, key) {
var keys = key.split('.');
var value = obj;
for (var i = 0; i < keys.length; i++) {
value = value[keys[i]];
}
return value;
};
/*******
* @description: 判断是否为json字符串
* @author: 琴时
* @param {String} str
* @return {Object|Boolean}
*/
function isJsonString(str) {
try {
return Boolean(JSON.parse(str));
} catch (e) {
return false;
}
}
/*******
* @description: 将字符串解析为对象
* @author: 琴时
* @param {String} str
* @return {Object}
*/
function jsonParse(str) {
try {
return JSON.parse(str);
} catch (e) {
return {};
}
}