嘿,这是我的第一个问题,我只是找到了JS的方法。我有一个设置的数组,我想循环它并将每个值除以100,然后将输出打印到控制台。这是我要去的地方
var example =[5, 10, 15, 20]
for (var i=0; i < example.length; i++) {
(example[i/100]);
}
console.log(example);
我知道我的问题出在(example[i/100]);
行,但我不确定如何解决,任何帮助表示赞赏: - )
所以我的目标是到达
0.5,0.1,0.15,0.2
答案 0 :(得分:4)
将每个值除以100,
是的,您希望将每个值除以100,但也将结果保存回到数组中。在JavaScript中,如果要进行一些计算并存储结果,则需要说
left-hand-side = calculation
换句话说,您需要使用赋值运算符(=
)将计算结果分配给某个变量,数组元素或属性。
在您的情况下,&#34;计算&#34;是数组元素的值除以100,所以它将是
example[i] / 100
你可能想知道为什么example[i/100]
不起作用。想一想。 []
内的内容是数组索引。您不希望将索引i
除以100;您希望将索引i
的值除以100.
此计算的结果 - 将索引i
处的元素除以100 - 您希望将返回放入同一位置的数组中。那么&#34;左手边&#34;也是element[i]
。因此整个陈述是
example[i] = example[i] / 100;
您的尝试,
( example [ i/ 100] )
因此,错过了几个级别的标记。首先,您将索引除以100,而不是将索引处的值除以100.其次,您没有将结果分配给任何东西 - 因此结果将被丢弃。
仅仅改变你知道的那条线是不稳定的,上面的example[i] = example[i] / 100;
将使你的代码完美地运作。您不需要forEach
,map
或箭头功能(虽然我希望您能了解它们的内容,并尽快开始使用它们。)
在这种特殊情况下,我们将特定数组元素除以100的结果分配回相同数组元素。在这种情况下,JavaScript提供了特殊的赋值运算符,允许您避免重复对数组元素(或变量或对象属性)的引用。在这种情况下,您对&#34;除法运算符&#34;感兴趣,您可以将其用作
example[i] /= 100;
^^
但除了简洁之外,没有特别需要使用它。
答案 1 :(得分:3)
将example[i/100]
更改为example[i] /100
,您可以从for循环中console.log
每个响应。
var example = [5, 10, 15, 20];
for (var i = 0; i < example.length; i++) {
console.log(example[i] / 100);
}
答案 2 :(得分:1)
我修改了你的代码(见下文):
var example = [5, 10, 15, 20];
example.forEach(function(i) {
console.log(example[i] / 100);
});
关于上述内容的几点评论:
我相信你的意思是得到结果:0.05,0.1,0.15和0.2除以100 ..所以请记住你的数学。
您要除以数组example
的索引,更改语法以表示以下内容:example[i] = example[i] / 10;
,转换为简写形式:example[i] /= 100;
。
查看forEach
函数,该函数作为数组上的for循环,它可以是您示例中的一个很好的实现。
假设你想扩展你的知识,那么如果你进入初级课程就会很棒。我无法想到比起这里更好的地方:CodeAcademy, Javascript courses ...我希望它有所帮助!
答案 3 :(得分:1)
非ES6代码可能如下所示。 map
返回 new 数组,其中每个元素都已被函数更改。您是否想要一个新数组,或者是否使用for
循环来更改现有数组的元素取决于您。
var example = [5, 10, 15, 20];
示例1
var out = example.map(function (el) {
return el / 100;
});
console.log(out); // [ 0.05, 0.1, 0.15, 0.2 ]
示例2
for (var i = 0, l = example.length; i < l; i++) {
example[i] = example[i] / 100;
}
console.log(example);
答案 4 :(得分:0)
更新以保存修改后的值
没有太多理由分别记录()每个值。您可以使用类似的东西来简化代码,使用漂亮的ES6箭头函数和ES5数组方法:
var example = [5, 10, 15, 20]
console.log(example = example.map(x => x/100))
注意:x => x/100
等箭头函数目前可用于很少的Web浏览器。如果您想立即发布网络应用或网页,则应使用标准的匿名功能:function (x) { return x/100 }
。