var abc;
console.log(abc); >>> undefined
var name;
console.log(name); >>> (it gives empty string and not undefined. Why?)
所以,我想让代码做的是在console.log中的给定数字中, 例如,(4,13)它应该打印所有偶数在4和13之间的数字。但是,该函数不是给出所有偶数,而是给出了所有4,13之间的数字。我该如何解决这个问题?
p.s在javascript中有任何strcmp吗?
答案 0 :(得分:0)
for循环中的if语句中的变量错误。
if (minNumber%2 ==0){
str += ',' + i;
}
应该是
if (i%2 ==0){
str += ',' + i;
}
答案 1 :(得分:0)
我认为您希望在最小值和最大值之间显示数字,但不包括最小值或最大值。换句话说,evenNumbers(4,8)
应该只显示6
。我还假设最小值和最大值都是整数。
我将所有逻辑放在for
循环参数中,for
循环体只将这些数字和逗号放在输出字符串中。最终返回值将删除最后一个逗号。
function evenNumbers(minNumber, maxNumber){
let str = '';
for (let i = Math.ceil((minNumber + 0.5) / 2) * 2; i < maxNumber; i += 2) {
str += `${i},`;
}
return str.slice(0,-1);
}
console.log('evenNumbers(4,13) returns: ' + evenNumbers(4,13));
console.log('evenNumbers(3,10) returns: ' + evenNumbers(3,10));
console.log('evenNumbers(8,21) returns: ' + evenNumbers(8,21));
console.log('evenNumbers(-8,5) returns: ' + evenNumbers(-8,5));
console.log('evenNumbers(-7,-2) returns: ' + evenNumbers(-7,-2));
console.log('evenNumbers(5,6) returns: ' + evenNumbers(5,6));
console.log('evenNumbers(10,2) returns: ' + evenNumbers(10,2));
&#13;