我正在尝试编写一个显示最后一位数字(在一组3中)的代码是相同的。我无法理解为什么我为每套都弄错了,所以我决定测试-20%10,我得到-0同时20%10给我预期的0.这是什么-0左右?
function last_digit( x, y, z){
if(x % 10 == y % 10 == z % 10 ){
return true;
}else {
return false;
}
}
console.log(last_digit(20, 30, 400));
console.log(last_digit(-20, 30, 400));
console.log(last_digit(20, -30, 400));
console.log(last_digit(20, 30, -400));
答案 0 :(得分:1)
您需要将值与logical AND &&
进行成对比较,因为第一个比较返回一个布尔值,下一个比较该值与下面表达式的其余部分。
function last_digit(x, y, z) {
return x % 10 == y % 10 && x % 10 == z % 10;
}
console.log(last_digit(20, 30, 400));
console.log(last_digit(-20, 30, 400));
console.log(last_digit(20, -30, 400));
console.log(last_digit(20, 30, -400));

答案 1 :(得分:1)
这样做,
function last_digit(x, y, z) {
if ((x % 10) == (y % 10) && (y % 10) == (z % 10)) {
return true;
} else {
return false;
}
}
console.log(last_digit(20, 30, 400));
console.log(last_digit(-20, 30, 400));
console.log(last_digit(20, -30, 400));
console.log(last_digit(20, 30, -400));