Если вам нужно проверить целые числа, чтобы обеспечить согласованность данных, или предложить пользователям точные сообщения об ошибках, JavaScript предоставляет несколько методов проверки. целочисленные входные данные.
Один из распространенных подходов предполагает использование функции parseInt(). Однако одного этого метода может быть недостаточно, если вы хотите обрабатывать такие сценарии, как строки, которые потенциально могут быть проанализированы как целые числа.
Следующая функция объединяет несколько проверок для обеспечения надежности проверка целого числа:
function isInt(value) { return !isNaN(value) && parseInt(Number(value)) == value && !isNaN(parseInt(value, 10)); }
Эта функция может обрабатывать как числовые строки, так и примитивные числа, обеспечивая точную проверку.
Если производительность является приоритетом, вы можете использовать побитовые операторы для эффективной проверки целых чисел:
function isInt(value) { var x = parseFloat(value); return !isNaN(value) && (x | 0) === x; }
Этот метод использует побитовый оператор ИЛИ (|) для приведения входных данных к целому числу. Если результат соответствует исходному значению, входные данные представляют собой целое число.
Вот еще несколько подходов к проверке целых чисел:
function isInt(value) { if (isNaN(value)) return false; var x = parseFloat(value); return (x | 0) === x; }
function isInt(value) { return !isNaN(value) && parseInt(value, 10) == value; }
function isInt(value) { return !isNaN(value) && parseInt(value, 10) && (parseInt(value, 10) | 0) === parseInt(value, 10); }
Выбор правильного метода проверки зависит от конкретных требований и показателей производительности вашего приложения.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3