20 байт
Для довідки, це оригінальна версія без пробілів та без іменування функції:
n=>n>0?n<255?n:255:0
Спробуйте в Інтернеті!
19 байт
Ми можемо зберегти байт, перевернувши логіку потрійних тестів і використовуючи n>>8
для перевірки, чи більше . Через побітну операцію це не вдасться для .н255n ≥ 232
n=>n<0?0:n>>8?255:n
Спробуйте в Інтернеті!
19 байт
Ця повертає замість але працює при n ≥ 2 32 .fa l s e0n ≥ 232
n=>n>255?255:n>0&&n
Спробуйте в Інтернеті!
18 байт
256 - 232≤ n < 232fa l s en < 0
n=>n>>8?n>0&&255:n
Спробуйте в Інтернеті!
Прокоментував
n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
n > 0 && // return false if n is negative
255 // or 255 otherwise
: // else:
n // return n unchanged
(Це виправлена редакція коду, запропонована @ValueInk у коментарях.)
17 байт
- 224< n ≤ 224
n=>n>>8?-n>>>24:n
Спробуйте в Інтернеті!
Прокоментував
n => // n = input number
n >> 8 ? // if n is greater than 255 or n is negative:
-n >>> 24 // non-arithmetic right-shift of -n by 24 positions
: // else:
n // return n unchanged