例如,我在 url als 查询参数中存储了一个日期和金额属性
...?日期=2019-06-12T06:20:39.465Z&amount=20000
我希望能够解析所有查询参数并使用 javascript 将它们分配给正确的类型。
目前我正在使用
paramMap.keys.forEach(key => {
let value: any = paramMap.get(key);
if (isFinite(Date.parse(value))) {
// keep as string
} else if (isFinite(parseInt(value, 10))) {
value = isInteger(value) ? parseInt(value, 10) : parseFloat(value);
} else if (value === 'true' || value === 'false') {
value = value === 'true';
}
obj[key] = value;
});
return obj;
在这种情况下,amount=20000 将被 Date.parse 识别。
还
2019-06-12T06:20:39.465Z 将使用 parseInt 解析为 2019 ...
isFinie、parseInt 和 isInteger 是从 lodash 导入的。
如果可能,我不想使用正则表达式。
编辑:请假设我不知道密钥的名称。因此脚本应该适用于所有属性。
繁星coding
慕容森
相关分类