【问题标题】:JS loop producing no result [closed]JS循环不产生结果[关闭]
【发布时间】:2015-02-06 19:02:48
【问题描述】:

尝试使用循环创建一个数组,然后对数组的所有内容求和,并将结果作为 DIV 的内容,但是当我运行小提琴时,我没有得到任何结果,并且 jshint 说一切都很好。

var begin = 500000;
var stop = 999999;
var arrInt = [];

// Create an array worth summing
var CreateArray = function (begin,stop) {
    while(begin < stop +1){ 
        arrInt.push(begin++);
    }
};

// Sum all ints in an array
var IntSum = function (ManyInts) {
    var i = arr.length; while (i--) { 
        return;
    }
};

var example = document.getElementById("example").innerHTML;
example=IntSum(arrInt);


<div id="example"></div>

http://jsfiddle.net/7b8rqme5/

【问题讨论】:

  • for 循环不会更容易吗?你怎么什么都不退?
  • arr (l. 14) 未定义...
  • 你在哪里总结了这些值?

标签: javascript arrays loops innerhtml


【解决方案1】:

您绝不会致电CreateArray。你调用你的另一个函数IntSum,它什么也不做。此外,您创建一个变量 example 并为其分配一个 dom 元素,然后立即用 (noop) 函数结果覆盖它。您的代码也存在其他问题。

我的建议:放慢脚步,确定你需要完成什么,然后一步一步来。

【讨论】:

  • 我们还要循环讨论无条件的return
【解决方案2】:

我想这就是你想要的。但不确定您要在这里做什么。

var begin = 500000;
var stop = 999999;
var arrInt = [];

var CreateArray = function (begin,stop) {
    while(begin < stop +1){ 
        arrInt.push(begin++);
    }
};

var IntSum = function (ManyInts) {
    var sum = 0 
    var i = ManyInts.length; while (i--) { 
        sum += ManyInts[i];

    }
    return sum;
};

var example = document.getElementById("example").innerHTML;
CreateArray(begin, stop);
var saic=IntSum(arrInt);
document.getElementById("example").innerHTML = saic

http://jsfiddle.net/wpnkL6k2/

【讨论】:

    猜你喜欢
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 2020-05-07
    • 2015-01-28
    • 2020-04-26
    • 2013-06-05
    • 2017-09-11
    相关资源
    最近更新 更多