了解javascript中的循环
我试图完全理解循环。我做了一点调查,了解了一些情况 我知道像这样的循环了解javascript中的循环,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我试图完全理解循环。我做了一点调查,了解了一些情况 我知道像这样的循环 for(var i = 0; i < 5; i++) { console.log(i) } var a = []; a[5] = 5; for (var x in a) { console.log(x); } 这意味着a中x的循环将记录为5 我在四处寻找,然后我看到 函数aNumber(){ var-aInt=521; var intString=aInt.toString(); var intLengt
for(var i = 0; i < 5; i++) { console.log(i) }
var a = [];
a[5] = 5;
for (var x in a) {
console.log(x);
}
这意味着a中x的循环将记录为5
我在四处寻找,然后我看到
函数aNumber(){
var-aInt=521;
var intString=aInt.toString();
var intLength=intString.length;
var结果=0;
for(intString中的变量i){
结果+=Math.pow((+intString[i]),intLength);
}
控制台日志(结果);
//...
}
一个数()
for..in
循环迭代对象上的可枚举属性名称(包括从原型继承的属性)。由于字符串的可枚举属性始终是其数字标记,而不是其他标记,因此该行:
for (var i in intString)
可以替换为
for (let i = 0; i < intString.length; i++)
如果您将问题填充为
aInt
的值,而不是保留这些句点,这将非常有用<代码>0,1
,2
作为属性-但如果代码不好,它可能会有更多的属性:pOk@dwjohnston。我会这么做的。@dwjohnston我想你把变量名intString改成了aString,这使它更容易混淆,所以你知道Math.pow在做什么。。。所以,是结果+=
让你困惑?这只是result=result+
Array.prototype.reduce.call
-虽然这在技术上可能更正确,但您可以执行[].reduce.call
,这需要创建一个空数组,这也可能会导致混淆,或者有人说过,所以我更喜欢使用原型方法,而不是速记方法。非常感谢。我现在明白了。也谢谢你让我意识到有一个for..让和for循环。我想我需要做更多的研究。