循环-for,for,for .... of,for ...在

阿比拉什·巴尔加瓦(Abhilash bhargava)

我无法理解所有这些循环之间的区别,任何人都可以共享链接或发表一些文章,这将帮助我从效率,速度,可用性等方面更详细地了解这些循环。

在下面的代码中,我如何最好地理解这些差异?

const digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

for (let i = 0; i < digits.length; i++) {
  console.log(digits[i]);
}

const digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

for (const index in digits) {
  console.log(digits[index]);
}

const digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
for (const index of digits) {
  console.log(digits[index]);
}
Vignesh Raja

for循环:这是迭代数组的常用方法,在此我们使用iasindex来访问数组中的元素lettersMDN文件供参考

var letters = ["a","b","c"];
for (let i = 0; i < letters.length; i++)
{
    console.log("Index : "+i, "Value : "+letters[i]);
}

for ... in循环:此循环始终迭代索引。在遍历数组时,该变量i将保存index每个元素的值index迭代期间需要元素的时,可以使用此方法MDN文件供参考

var letters = ["a","b","c"];
for (var i in letters)
{
    console.log("Index : "+i, "Value : "+letters[i]);
}

for ... of循环:此循环始终循环访问数组的值。在遍历数组时,变量i将保留元素的值。如果只value需要数组中的元素,则可以使用此方法MDN文件供参考

var letters = ["a","b","c"];
for (var i of letters)
{
    console.log(i);
}

forEach循环:该循环在遍历arr时对每个元素执行回调函数。回调的参数是currentValueindex到currentValue,的array在其上执行的循环。MDN文件供参考

var letters = ["a","b","c"];
letters.forEach(function(value, index, arr){
    console.log("Value : "+value, "Index : "+index, "Complete array : "+arr)
});

您遇到的问题:该代码按流程正常工作。由于数组元素等于其索引,因此使您难以理解它。

in for ... in循环中:index=0Gives digits[0]=0index=1Givesdigits[1]=1等等。

在...循环:index=0(其中变量index保存的值digits[0]),在console声明中编译器把该值在index 0被访问的array d因此,它将digits[0]为所有元素返回at的值,依此类推。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章