gpt4 book ai didi

javascript - Javascript 是否有类似于 Java 的增强的 for 循环语法

转载 作者:行者123 更新时间:2023-12-03 02:01:56 25 4
gpt4 key购买 nike

我想知道 JavaScript 是否有增强的 for 循环语法,允许您迭代数组。例如,在 Java 中,您可以简单地执行以下操作:

String[] array = "hello there my friend".split(" ");

for (String s : array){
System.out.println(s);
}

输出为:

hello
there
my
friend

有没有办法在 JavaScript 中做到这一点?或者我是否必须使用 array.length 并使用标准 for 循环语法,如下所示?

var array = "hello there my friend".split(" ");

for (i=0;i<array.length;i++){
document.write(array[i]);
}

最佳答案

JavaScript 有一个foreach -style 循环( for (x in a) ),但在 Array 上使用它是非常糟糕的编码习惯。 。基本上,array.length做法是正确的。还有一个a.forEach(fn)您可以使用较新的 JavaScript 中的 方法,但不能保证它出现在所有浏览器中 - 而且它比 array.length 慢。方式。

2017 年编辑:确实,“我们会看看事情进展如何”。现在大多数引擎中,.forEach()现在与 for(;;) 一样快或更快,只要该函数是内联的,即 arr.forEach(function() { ... })速度很快,foo = function() { ... }; arr.forEach(foo)也许不是。人们可能认为两者应该是相同的,但第一个比第二个更容易让编译器优化。

2020 年迟来的编辑:现在有 for (const item of iterable) ,解决了使用 for (item in iterable) 的缺点.

关于javascript - Javascript 是否有类似于 Java 的增强的 for 循环语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8681593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com