【问题标题】:How to loop data combine while function and if condition如何循环数据结合while函数和if条件
【发布时间】:2020-09-02 02:32:37
【问题描述】:

我想知道 while 函数。 我想将 while 函数与 if 条件结合起来。 我需要 if 条件下的循环数据。

这是我的代码:

var loop = function () {
   var x = 0;
   var y = 10;
   var z = 0;

   while (x > y) {
        var qty = 5;
        var price = 100;        
        
        if(qty > 5) {
        	p = (qty * price) - 1;
        } else {
        	p = (qty * price) + 1;
        }
        
        y = y + qty;
       	z = z + p;
   }
   console.log("result " + y, z);
};

loop();

我已经尝试像这样改变它并开始工作。

//Remember to set your condition outside the loop!
var x = 0;
var y = 10;
var z = 0;

var loop = function () {
    while (x < y) {        
        
        var qty = 5;
        var price = 100;        
        
        if(qty > 5) {
        	p = (qty * price) - 1;
        } else {
        	p = (qty * price) + 1;
        }
        
        var result = x++ + p;        
        console.log("result " + result);
    }
};

loop();

但是,如果我添加新行,为什么值会有所不同。
var 结果 = a++ + p
var resultx = a++ + 数量

谢谢

【问题讨论】:

  • 有什么问题??
  • 结果在 while 函数中不跟随。我想在 if 条件下显示循环数据

标签: javascript while-loop


【解决方案1】:

问题在于 while 条件。 x 应该小于 y 然后循环语句

while (x &lt; y) {

【讨论】:

  • 当我像这样改变它时 x
  • 对不起,我检查了一下,您的问题似乎有点令人困惑..您要解决的问题
  • 我已经更改它并且现在可以工作了。但是我很困惑为什么当我添加新行时值会发生变化。我的问题已编辑。谢谢
【解决方案2】:

这个 while 循环不会执行,因为 x 初始化为 0 并且永远不会大于 y。

我想切换这些值至少可以让 while 循环执行。

然而——即使那样——数量永远不会从 5 改变——所以下面的 if/else 语句是多余的(只有 else 曾经执行过)。

希望对您有所帮助 --- 请随意添加详细信息来说明 x、y、z 究竟代表什么以及函数循环试图完成什么。

var loop = function () {
   var x = 0;
   var y = 10;
   var z = 0;

   while (x > y) {
        var qty = 5;
        var price = 100;        
        
        if(qty > 5) {
        	p = (qty * price) - 1;
        } else {
        	p = (qty * price) + 1;
        }
        
        y = y + qty;
       	z = z + p;
   			
        console.log("n1 " + y);
        console.log("n2 " + z);
 
        console.log("n2 " + x);
        x++;
   }
   console.log("result " + x++);
};

loop();

【讨论】:

  • 不要只发布代码。说明出了什么问题以及您是如何解决的。
  • 嘿---我不小心发布了---请注意更新的答案,我希望能澄清我的意图。 StackOverflow 的新手。
【解决方案3】:

x 小于 y 并且不要根据您的 while 条件进入循环。换个试试

【讨论】:

  • 当我像这样改变它时 x
  • 循环结束前 x 没有增量。这就是它导致无限循环的原因
猜你喜欢
  • 2016-02-13
  • 2022-01-20
  • 2021-11-04
  • 2014-06-26
  • 1970-01-01
  • 2022-01-04
  • 2022-09-23
  • 2014-09-17
  • 2019-12-06
相关资源
最近更新 更多