迭代数组并在coffeescript中调用函数的最佳方法

时间:2012-04-12 21:11:46

标签: javascript arrays coffeescript loops

我在coffescript中有这段代码

copy pages.template  for pages in configFiles.pages

在java脚本中生成此代码

var pages, _i, _len, _ref;

_ref = configFiles.pages(function() {});
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
  pages = _ref[_i];
  copy(pages.template);
}

但我想要的是在for中调用另外两个函数:

var pages, _i, _len, _ref;

_ref = configFiles.pages(function() {});
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
  pages = _ref[_i];
  copy(pages.template);
  copy2(pages.template);
  copy3(pages.template);
}

我不知道这是不是一个好习惯。我是编程世界的新手。 如果是我怎么能在coffeescript中这样做?如果不是最佳解决方案是什么?

由于

3 个答案:

答案 0 :(得分:3)

您可以使用块语法进行循环,而不是将其嵌套在理解中:

for pages in configFiles.pages
    copy(pages.template)
    copy1(pages.template)
    copy2(pages.template)

答案 1 :(得分:1)

不推荐,但技术上可以将它们塞进一行:

(copy pages.template; copy1 pages.template; copy2 pages.template) for pages in configFiles.pages

答案 2 :(得分:-1)

在coffeescript中,您可以嵌套列表推导/ for循环。所以你可以做那样的事情。

(copy pages.template for pages in configFiles.pages for num in [3..1])