Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解javascript中的循环_Javascript_Arrays_For Loop - Fatal编程技术网

了解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循环。我想我需要做更多的研究。