jquery - 如何从 $.each(...) 返回一个值?

标签 jquery arrays scope each

为了拦截大量接近的选票,我可以强调,它与 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/

相关文章:

javascript - Jquery - 如何将变量传递到函数中以供使用?

javascript - this.SOMETHING 总是返回未定义 - extjs

javascript - IE8文本选择问题

javascript - jquery 删除动态行值

javascript - 创建星号分隔字符串的 JavaScript 对象

ajax - 部分 View 中的 Asp.net MVC WebGrid 未通过 Ajax 更新

php - 将数组存储到 Javascript 中

javascript - 数组/对象解构

java - 如何在 Java 中将文件目录结构获取为 JSON?

c++ - 在实现和调用时可以复制函数参数名称吗?