javascript - 如何评估for循环中的隐式(未命名)变量?

标签 javascript for-loop implicit evaluate

以下代码在 JS 中运行良好:

function GetArray() { return ["x","y","z"]; }
var tmp = GetArray();
var s = "";
for (var i in tmp) { s += i+" = "+tmp[i]+"\n"; }
alert(s);

给出:

0 = x
1 = y
2 = z

现在不是将 GetArray() 的结果存储在临时变量中,是否还有一种方法可以通过在 for (...) 部分直接计算 GetArray 来实现?

我的意思是这样的:

for (var i in GetArray()) { /* ??? */ }

除非在这种情况下,我不知道如何获取数组的元素 [i],因为没有明确的变量名可以引用?

显然我不执行 GetArray()[i],因为 GetArray 在每个 for-step 都被重新处理,这是低效的,它的结果甚至可能会改变(不是在这个简化的例子中,而是在一般)。

在 PHP 中有 foreach(SomeExpression() as $index => $value) 的概念,在 JS 中有等效的概念吗?

最佳答案

arr.forEach(callback[, thisArg])

给你:

function callback(element, index, array) {
    // ...
}

但可以在此处找到包含所有注意事项的最佳答案:https://stackoverflow.com/a/9329476/675561

关于javascript - 如何评估for循环中的隐式(未命名)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26359219/

相关文章:

c# - 为什么嵌套类中的隐式运算符方法无法编译?

javascript - 高于 VMR9 时 HTML 闪烁

javascript - Microsoft Edge javascript 不会向按钮添加类

javascript - node.js 中的类方法

c++ - for-scope 内的多变量声明和初始化

scala - 为什么有从 Float/Double 到 BigDecimal 的隐式转换,而不是从 String 的隐式转换?

javascript - simple-slider.js - slider 输出到不同的 html 文本框

python - -1 在这段代码中是什么意思([file for file in os.listdir(folder_dir) if file.find ("xlsx") != -1])?

javascript - 不需要的事件覆盖