Например, у меня есть свойство даты и количества, сохраненное в параметрах запроса URL
...? Date = 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;
В этом случае сумма = 20000 будет распознана Date.parse.
также
2019-06-12T06: 20: 39.465Z будет проанализирован до 2019 с помощью parseInt ...
isFinie, parseInt и isInteger импортированы из lodash.
Если возможно, я не хочу использовать регулярное выражение.
РЕДАКТИРОВАТЬ: Пожалуйста, предположите, что я не знаю название ключа.Следовательно, скрипт должен работать для всех свойств.