1

这是我在这里的第一个问题贡献,所以我希望所有规则都可以。这是一个简单的问题,我有基本的语言知识,当有人输入一个值时,我必须更改每个数组 [2n]的值,它会将他们输入的值乘以数组中的值

所以:tableau[1,2,3,4,5,..,100] 必须变成:如果用户输入 4 tableau[4,2,12,4,20..]

这是 :

tableau = new Array(100);
var userInput = prompt('give me a value');

for (i = 0; i < tableau.lengt; i++) {
  tableau[i] = i + 1;

  if (i = 0) {
    tableau[i] = i * userInput;
    console.log('voici mon tableau : [' + i + '] : ' + tableau[i]);
    var pair = i % 2;
    if (pair = 0) {

      tableau[i + 1] = tableau[i] * userInput;
      console.log('voici mon tableau : [' + i + '] : ' + tableau[i]);
    } else {
      console.log('voici mon tableau : [' + i + '] : ' + tableau[i]);
    }

  }
}

我在实现我的代码时遇到了问题,如果你能给我一些提示以便能够拥有完整的代码块,我阅读了帮助但无法修复它:(。

所以这是我的问题,这段代码我有一个无限循环,我无法看到发生了什么,因为我的浏览器崩溃了。我希望这不是一个愚蠢的问题,因为每个人的循环都不同,我找不到我的解决方案。先感谢您

4

3 回答 3

1

You're using assignment operator '=' for comparison here. It should be

if (i == 0) 

instead. Otherwise, what you're doing is to set i to 0 every time, so the loop never ends, beause i only have the values 1 (at the end of the loop) and 0 again. Same for

if (pair == 0) {

as well, of course.

Btw., a good practice to overcome this issue is to write

0 == i 

instead. This way, if you forget the '=' there won't be any assignment to i happening (you will get an error message).

于 2019-02-15T11:41:09.677 回答
1

您的代码存在不同的问题。

我做了一些更正,请参见下面的实时示例

tableau = new Array(100);
var userInput = prompt('give me a value');

for (var i = 0; i < tableau.length; ++i) {
  var pair = i % 2;
  if (pair == 0) {
    tableau[i] = (i + 1) * userInput;
  } else {
    tableau[i] = i + 1;
  }
}

console.log(tableau)

于 2019-02-15T11:52:09.683 回答
0

=用于赋值,== || ===用于比较。在您的 if 语句中使用===== =将不起作用,因为它总是返回 true,因此是无限循环。这将是-

 if (i = 0) {
        //tableau[i] = i * userInput;
        //console.log('voici mon tableau : [' + i + '] : ' + tableau[i]);
        //var pair = i % 2;
        if (pair = 0) {

这个

 if (i == 0) {
        //tableau[i] = i * userInput;
        //console.log('voici mon tableau : [' + i + '] : ' + tableau[i]);
        //var pair = i % 2;
        if (pair == 0) {
于 2019-02-15T11:48:00.500 回答