For loop 如何在CoffeeScript中迭代两个数组

For loop 如何在CoffeeScript中迭代两个数组,for-loop,coffeescript,For Loop,Coffeescript,我试图通过列表理解重写CoffeeScript中经典书籍“JavaScript:好的部分”中的示例: var parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+) (?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/; var url = “http://www.ora.com:80/goodparts?q#fragment”; var result = parse_url.ex

我试图通过列表理解重写CoffeeScript中经典书籍“JavaScript:好的部分”中的示例:

var parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)
 (?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;

var url = “http://www.ora.com:80/goodparts?q#fragment”;
var result = parse_url.exec(url);
var names = ['url', 'scheme', 'slash', 'host', 'port', 'path', 'query', 'hash'];
var blanks = '       ';
var i;
for (i = 0; i < names.length; i += 1) {
     document.writeln(names[i] + ':' +
         blanks.substring(names[i].length), result[i]);
}

我想你是想做点什么


如果有人来到这里,实际上需要同时迭代两个数组,那么这是可行的:

for [course_event, remote_event] in zip(course.events, remote.events)
  course_event.lessons = remote_event.lessons if event.lessons_need_updating
zip()
来自:


你读过吗?我当然读过,但对我没有帮助。你没有列出你尝试过什么,遇到了什么问题,看到了什么错误,什么都没有。我们还能做些什么,除了向您指出文档?这正是我需要的,谢谢!但你确定你的解决方案是用咖啡脚本的方式写的吗?@surganov我不知道你的意思是什么?
parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/

url = 'http://www.ora.com:80/goodparts?q#fragment'

result = parse_url.exec(url)

names = ['url', 'scheme', 'slash', 'host', 'port', 'path', 'query', 'hash']

alert "#{names[i]}: #{result[i]}" for i in [0..names.length-1]
for [course_event, remote_event] in zip(course.events, remote.events)
  course_event.lessons = remote_event.lessons if event.lessons_need_updating
zip = () ->
  lengthArray = (arr.length for arr in arguments)
  length = Math.min(lengthArray...)
  for i in [0...length]
    arr[i] for arr in arguments