Я создаю калькулятор. Часть этого позволит вам вводить до 4 чисел, но вы можете просто иметь 1,2 или 3. У меня есть код, за исключением того, что когда я ввожу только 1, 2 или 3 числа, я получаю результат NaN для чисел, которые я еще не вводил.Как избавиться от isNaN от результатов формы?
Как я могу избавиться от результата NaN?
моего JQuery для разделения введенных данные форм -
var numbers = num4.split(" ");
var firstNumber = parseInt(margins[0], 10),
secondNumber = parseInt(margins[1], 10),
thirdNumber = parseInt(margins[2], 10),
fourthNumber = parseInt(margins[3], 10);
console.log(firstNumber, secondNumber, thirdNumber, fourthNumber);
var shorthand1 = parseInt (firstNumber, 10) * 1;
var shorthand2 = parseInt (secondNumber, 10) * 1;
var shorthand3 = parseInt (thirdNumber, 10) *1;
var shorthand4 = parseInt (fourthNumber, 10) *1;
и я просто
shorthand1 + shorthand2 + shorthand3 + shorthand4
в результате отображается в DIV на этой странице.
вопросы, если я вхожу «10 10 10», а не ввести четвертый номер, я получаю результат
10 10 10 NaN
Могу ли я проверить NaN и не получить, что результат обрабатывается?
Sudhur прав - isFinite детектирует и возвращает ложь на NaN. parseInt возвращает NaN, как вы уже нашли. Кроме того, я предлагаю вам проверить длину массива чисел до разделения. Если кто-то входит в «10 10 10», в массиве отсутствует элемент, а number.length расскажет об этом. Вы должны назначать значения наполнителя, возвращать пользователю ошибку или обращаться с ней любым способом, который вы считаете нужным. – user8109