这是我的第一个问题贡献,因此,我希望,所有规则都可以。 这是一个简单的问题,我具有基本语言知识,我必须更改每个数组[2n] 的值 >当有人输入值时,它将乘以他们输入的值与数组中的值。
so: 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]);
}
}
}
我在执行代码时遇到了问题,如果您能给我一些技巧,以获取完整的代码,我可以阅读帮助,但无法修复:(。
这是我的问题,使用此代码,我有一个无限循环,由于浏览器崩溃,我无法看到正在发生的情况。 我希望这不是一个愚蠢的问题,因为循环对于每个我找不到我的解决方案的人都是不同的。 预先谢谢你
答案 0 :(得分:1)
您在这里使用赋值运算符'='进行比较。应该是
if (i == 0)
相反。 否则,您要做的就是每次将i设置为0,因此循环永远不会结束,因为i仅具有值1(在循环结束时)和0。 相同
if (pair == 0) {
当然,。
顺便说一句,克服这个问题的一个好习惯是写
0 == i
相反。这样,如果您忘记了“ =”,就不会对我进行任何分配(您会收到一条错误消息)。
答案 1 :(得分: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)
答案 2 :(得分:0)
= 用于分配, == || === 用于比较。在您的if语句中,使用 == 或 === 。 = 将不起作用,因为它将始终返回真实,因此是无限循环。 这将是-
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) {