$.each函数将返回值添加到外部变量
$.each function to add return to an external variable
我有一个字符串数组,我用这个函数处理它:
$.each(lines, processLine);
processLine函数返回另一个字符串,但我需要将这些字符串组合成一个结果。主要的问题是,我不希望processLine函数引用外部变量(名为css),它只需要返回结果,并在外部进行组合。我是这么做的:
var css = '';
css += $.each(lines, processLine);
但是css变量最终是原始数组元素的组合(未处理),不知道为什么。。。
$.each()迭代、$.map()项目。由于您希望从行中投影值,因此应该使用$.map()
:
var css = $.map(lines, processLine).join("");
传递给$.map()
的函数是为数组中的每个项调用的,其中包含两个参数:项本身及其索引。由于processLine()
将一行作为其第一个也是唯一的参数,因此我们可以直接传递该函数,而不是使用匿名函数作为中间函数。
从那里,join()将从我们投影的数组中构建一个字符串。将空字符串作为分隔符传递会导致简单的串联。
编辑:如果processLine()
不接受一个line
参数,那么我上面的推理是不正确的,你必须写一些类似的东西:
var css = $.map(lines, function(line, index) {
return processLine(index, line);
}).join("");
你可以实现这样的函数:
function processLines(lines) {
var resultCss = '';
$.each (lines, function() { resultCss += processLine(this) });
return resultCss;
}
var css = processLines(yourLines);
相关文章:
- 定义函数时,如何捕获外部变量的当前值
- jQuery:如何访问外部变量
- 成功回调中的外部变量未正确更新
- 如何通过pickink外部变量在jsfiddle中执行javascript函数
- JQuery 承诺:访问外部变量或将结果传递给 .done 内部的 IIFE
- JsRender:使用 if 语句将 JSON 对象中的值与外部变量进行比较
- jQuery 函数中的外部变量和作用域
- 在 JavaScript 中维护函数外部变量的值
- 如何从传入的预定义回调访问外部变量
- 基于外部变量重新编译指令
- 从函数更改外部变量
- 从AJAX函数中修改外部变量
- 如何通过Javascript在MongoDB 'where'查询中使用外部变量
- 访问Promise链中的外部变量
- Javascript 构造函数,使用引用其他变量的外部变量进行闭包
- 如何在Angular.js指令中将service.js的内部查询结果绑定到外部变量
- 如果内部函数没有'不要使用外部变量的任何变量
- JS如何访问外部变量's函数
- 从@foreach循环内部访问外部变量
- Javascript:访问匿名函数中的外部变量