【发布时间】:2013-06-18 00:45:19
【问题描述】:
为了拦截大量的近距离投票,我可以强调它与this thread 无关,更不用说回答了。
我不确定如何将 $.each(...) 构造中的值返回到外部作用域。假设我们有一个 JSON 对象数组(或相关的数组)。
var output = "";
$.each(array, function (key1, value1) {
output += "[" + key1 + "] --> ";
$.each(value1, function (key2, value2) {
output += key2 + ":" + value2 + " ";
});
});
console.log(output);
现在,如上面的示例所示,我依赖于从每个子范围级别写入的预先声明的输出。有用。但是,我不能停止觉得这不是最好的方法。我想返回一些东西,而不是将其附加到半全局输出。
【问题讨论】:
-
你不能从 $.each 中返回一些东西,你所做的几乎就是你必须这样做的方式。唯一的选择是使用 each 内部的值执行一个函数。
-
@KevinB Dang...谢谢。没有改进的余地。我想我的代码是完美的。 :D
-
使用
for循环和for..in:) -
@sabithpocker 这有什么帮助?我绝对不能从循环中返回任何东西,可以吗?
-
你绝对可以从 for 循环中返回。但是,在您的情况下,您实际上可以非常有效地使用 $.map。