Javascript 循环-forEach,for,for…of,for…in

Javascript 循环-forEach,for,for…of,for…in,javascript,loops,typescript,syntax,Javascript,Loops,Typescript,Syntax,我无法理解所有这些循环之间的区别,是否有人可以分享一个链接或一些文章,帮助我更详细地了解这些循环的效率、速度、可用性等 在下面的代码中,我如何才能最好地理解这些差异 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]

我无法理解所有这些循环之间的区别,是否有人可以分享一个链接或一些文章,帮助我更详细地了解这些循环的效率、速度、可用性等

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

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]);
}
通常的做法是:

for (let i = 0; i < digits.length; i++) {
  console.log(digits[i]);
}
如果不需要隐式索引,则更好

const chars = ['A','B','C'];
for (const value of chars) {
  // value will be 'A','B','C'
  console.log(value);
}
通常的做法是:

for (let i = 0; i < digits.length; i++) {
  console.log(digits[i]);
}
如果不需要隐式索引,则更好

const chars = ['A','B','C'];
for (const value of chars) {
  // value will be 'A','B','C'
  console.log(value);
}
for loop:这是迭代数组的常用方法,其中我们使用i作为索引来访问数组字母中的元素

变量字母=[a,b,c]; 对于let i=0;i<字母长度;我++ { console.logIndex:+i,值:+字母[i]; } for loop:这是迭代数组的常用方法,其中我们使用i作为索引来访问数组字母中的元素

变量字母=[a,b,c]; 对于let i=0;i<字母长度;我++ { console.logIndex:+i,值:+字母[i];
}如果使用常量数字=[2,3,4];要使用进行测试,您将看到for..in与for..of截然不同。在您的示例中,很难获得in和of之间的差异,因为您的数字数组与索引具有相同的值。如果使用常量数字=[2,3,4],请参见我的回答;要使用进行测试,您将看到for..in与for..of截然不同。在您的示例中,很难获得in和of之间的差异,因为您的数字数组与索引具有相同的值。看到我的答案了吗