0

我是 JavaScript 新手,我正在努力学习基础知识。我无法让这段代码工作。

我正在尝试创建一个函数(以下内容取自我正在做的练习)随机化一个数字(范围 0..100),然后打印从 40 到那个的所有奇数。如果数字小于 40,则将所有数字打印到随机数(即如果结果为 37,则应打印:40、39、38、37)。

您的意见将不胜感激。

var sol3 = function() {
    var n = Math.floor(Math.random()*100);

    if (n > 40) {
        for( var i = 41; i <= 100; i++2);
        console.log(i);
    }
    else if (n < 40) {
        for (var i = 39; i <= 40; i--2);
        console.log(i);
    }

    return i;
};

so13();
4

4 回答 4

3

您的代码有问题 -

  1. i++2是不正确的
  2. ;之后for不正确
  3. i--2是不正确的
  4. 你打电话sol13()的是数字 1 不是字母 l
  5. return i但它有效!

演示在这里

var sol3 = function () {
    var n = Math.floor(Math.random() * 100);

    console.log("n = " + n);

    if (n > 40) {

        for (var i = 41; i <= n; i += 2)
            console.log(i);

    } else if (n < 40) {

        for (var i = 40; i >= n; i--)
            console.log(i);
    }

    return i;

};

sol3();
于 2013-09-04T15:49:27.127 回答
0

尝试更改此行

for (var i = 39; i <= 40; i--2);

至:

for (var i = 39; i >=0; i-=2)

还将第一个 for 循环从更改i++2i+=2

于 2013-09-04T15:50:20.303 回答
0
var sol3 = function() {

    var n = Math.floor(Math.random() * 100);
    var odds = new Array();
    console.log("n:" + n);

    if (n > 40) {        
        for (var i = 41; i <= n; i+=2) {
            console.log(i);
            odds.push(i);
        }
    }
    else {        
        for (var i = 39; i >= n; i-=2) {
            console.log(i);
            odds.push(i);
        }
    }
    return odds;
};

sol3();
于 2013-09-04T15:52:20.103 回答
0
var sol3 = function(){

    var n = Math.floor(Math.random()*100);

    if (n > 40){
        while( n < 100){
            if( n%2==1){
                console.log(n);
            }
            n++;
        }
    }
    else if (n < 40) {
        for (var i = 39; i >= n; i--){
            console.log(i);
            }
    }
    return i;
};
sol();
于 2013-09-04T15:58:15.307 回答