Как проверить, находится ли значение в том же «десятилетии», что и другое значение? - PullRequest
0 голосов
/ 09 мая 2018

Я получаю два значения от 11 до 89 (без 20, 30, 40 и т. Д.), И мне нужно проверить, находится ли второе в тех же 10, что и первое. Ej.:

var actual = 23;  
var next = 17;  

Арент в том же десятилетии, но:

var actual = 23;  
var next = 27;

находятся в том же «десятилетии».

Как я могу сделать это без разделения чисел?

Спасибо заранее.

Ответы [ 3 ]

0 голосов
/ 09 мая 2018

Если вы хотите получить чек, если дельта меньше десяти, вы можете проверить абсолютную дельту.

const sameDecade = (a, b) => Math.abs(a - b) < 10;

console.log(sameDecade(23, 17));
console.log(sameDecade(23, 7));
console.log(sameDecade(10, 9));
console.log(sameDecade(23, 99));
0 голосов
/ 09 мая 2018

Просто разделите на 10 и отметьте

var actual = 23;  
var next = 27; 

console.log(Math.floor(actual / 10) === Math.floor(next/10))
0 голосов
/ 09 мая 2018

Разделите каждое число на 10, возьмите слово и сравните результат.

function sameDecade(n1, n2) {
  return Math.floor(n1 / 10) === Math.floor(n2 / 10);
}

So

if (sameDecade(actual, next)) {
  // actual and next are in the same decade
}
...