如何检查值是否与另一个值处于“十年”相同?

时间:2018-05-09 11:21:01

标签: javascript numbers comparison

我得到11到89之间的两个值(没有20,30,40等),需要检查第二个是否与第一个相同。 EJ:

var actual = 23;  
var next = 17;  

不是十年,但是:

var actual = 23;  
var next = 27;

处于相同的“十年”。

如果不分割数字,我怎么能这样做?

提前谢谢你。

3 个答案:

答案 0 :(得分:3)

将每个数字除以10,发言,并比较结果。

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

所以

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

答案 1 :(得分:0)

假设您想检查增量是否小于10,您可以检查绝对增量。

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));

答案 2 :(得分:0)

除以10并检查

var actual = 23;  
var next = 27; 

console.log(Math.floor(actual / 10) === Math.floor(next/10))