以下代码在 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/