为了拦截大量接近的选票,我可以强调,它与 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()
中的 return 语句返回循环是否继续。要让 .each()
返回一个值,您可以使用 .map()
,如下所示:
var output = $.map(array, function(v, i){
return "[" + i + "] --> " + $.map(v, function(v, i){
return i+ ':' + v + ' ';
}).join();
}).join();
fiddle :http://jsfiddle.net/stEV6/
但就我个人而言,我更喜欢你这样做的方式:使用变量。
关于jquery - 如何从 $.each(...) 返回一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225865/