JavaScript检查三个值是否在2的公差范围内相等

Has*_*sen 2 javascript comparison

我想检查3个RGB值是否基本相等,但有时两种方法的值都是1或什至2,所以不是那么简单。因此90,90,90应该相等90,88,90

在一分钟内,我想到的最好的东西是:

if (r != g && r != b) {
  if ((r != b && r != (b - 1))) {
    // etc
  }
}


Expected output:
91,90,90 = true
93,89,93 = false
91,90,89 = true
Run Code Online (Sandbox Code Playgroud)

Mah*_*Ali 5

您可以every()在数组上使用,并检查每个具有最小值(或最大值)的值的绝对差b / w是否小于2或等于2

const checkRBG = arr => {
  let min = Math.min(...arr);
  return arr.every(x => Math.abs(min-x) <=2);
}

const tests = [
  [91,90,90],
  [93,89,93],
  [91,90,89],
  [90,88,92]
]

tests.forEach(x => console.log(checkRBG(x)))
Run Code Online (Sandbox Code Playgroud)