我正在尝试编写一个随机化数字(范围0..100)的函数,然后将所有奇数从40打印到那个

时间:2013-09-04 15:46:17

标签: javascript function

我是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 个答案:

答案 0 :(得分:3)

代码问题 -

  1. i++2不正确
  2. ;不正确之后
  3. for
  4. i--2不正确
  5. 您正在呼叫sol13(),而不是字母l
  6. return i但它确实有效!
  7. demo here

    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();
    

答案 1 :(得分:0)

尝试更改此行

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

为:

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

同时将第一个for循环从i++2更改为i+=2

答案 2 :(得分: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();

答案 3 :(得分: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();