Как ввести строку в консоль js, и разбить её на две переменные
подскажите, как реализовать ввод двух чисел через запятую в консоль (node.js), и сделать из этих чисел две отдельные переменные? пытался сделать это через readline, но разбить на переменные не получилось, заранее спасибо
Ответы (1 шт):
readlineInferfaceInstance.question('....', answer => {
let [variableA, variableB] = answer.split(/,\s*/);
/* .... */
});
Вместо регулярки /,\s*/ лучше использовать более гибкую /[^\d.,-]+/ - с второй, разделителем может быть любой символ (или несколько символов) кроме числовых, точки, запятой, и дефиса/минуса. Пользователями часто предпочитается пробел в роли разделителя значений в строке (видимо, размер клавиши сказывается ?).
// Запятая у нас по стандарту является десятичным разделителем, если что... из-за этого, в качестве разделителя значений, она несет в себе потенциальную проблему (для пользователей). В программах для РФ и Европы (кроме UK), типкаст строки к number всегда лучше выполнять с replace(',', '.'), тем самым предусматривая использование юзером любого из двух вариантов десятичного разделителя в числах.