@morjs/runtime-base
Version:
mor runtime base
32 lines • 1.23 kB
JavaScript
export var Pairs = {
/**
* 构建键值对字符串
* @param {Object} param - 包含键值对的对象
* @returns {string} - 键值对组合成的字符串,键和值之间以下划线连接,各对之间以破折号分隔
*/
toString: function (param) {
var keys = Object.keys(param);
return keys.reduce(function (pre, key, index) {
var value = param[key];
var suffix = index === keys.length - 1 ? '' : '-';
return (pre += "".concat(key, "_").concat(value).concat(suffix));
}, '');
},
/**
* 根据键值对字符串创建对象
* @param {string} param - 以短横线分隔的键值对字符串,形如 "key1_value1-key2_value2"
* @returns {Object} - 创建的对象,键为原始字符串中的 key,值为对应的 value
*/
toObject: function (param) {
var result = {};
if (typeof param !== 'string')
return result;
var paramsArr = param.split('-');
paramsArr.forEach(function (pair) {
var _a = pair.split('_'), key = _a[0], value = _a[1];
result[key] = value;
});
return result;
}
};
//# sourceMappingURL=pairs.js.map