For loop 如何在CoffeeScript中迭代两个数组
我试图通过列表理解重写CoffeeScript中经典书籍“JavaScript:好的部分”中的示例: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
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