Убедитесь, что число бесконечно, как можно короче - PullRequest
0 голосов
/ 09 февраля 2019

Мне нужно выяснить, является ли мой результат числом от 1 до 100, а не бесконечным, но иногда у меня есть такой результат.Как я могу проверить, если результат в бесконечности.

Я знаю, что я могу сделать это, используя выражение if

x =Math.floor(1/1)
if(x == 1/0){
return 0}
else{
return x}

Но мне нужно в одну строку

x =Math.floor(1/1)(1/0 ? "0" : x);

Iпопробуйте это, но у меня есть ошибка ... что я пропустил?Мне это нужно, потому что я использую его для оператора цикла и у меня около 500 чисел для сортировки и вычисления ... но без этой проверки иногда у меня есть бесконечный результат ..

Кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Вы можете использовать Number.isFinite:

let x = Math.floor(1/1);
console.log(Number.isFinite(x)? x :0);

console.log(1/0 === Infinity);
console.log(1/0 === -Infinity); //fails for -Infinity
console.log(-1/0 === -Infinity); //number has to be -ve for this to work

//Takes care of both -Infinity and Infinity
console.log(`Number.isFinite() for -Infinity ${Number.isFinite(-Infinity)}`);
console.log(`Number.isFinite() for Infinity ${Number.isFinite(Infinity)}`);

//Returns false for NaN, null and undefined
console.log(`Number.isFinite() for NaN ${Number.isFinite(NaN)}`);
console.log(`Number.isFinite() for null ${Number.isFinite(null)}`);
console.log(`Number.isFinite() for undefined ${Number.isFinite(undefined)}`);
0 голосов
/ 09 февраля 2019

Infinity

console.log((1/0)=== Infinity)
console.log((1/10)=== Infinity)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...