较短的理解语法是否需要一个范围作为来源
Does the shorter comprehension syntax require a range as a source?
我想创建一个初始化为全零的数组,其长度与另一个数组相同。我听说不推荐使用new Array(baz.length)
,因为数组构造函数不明确。(看这个答案)没关系,因为CoffeeScript有漂亮的数组理解!例如,这是有效的:
foo = (0 for i in baz)
这是可读和简洁的,我很高兴。(Hooray CoffeeScript!)但在这种情况下,我真的不需要当前的迭代值。我只需要baz中的每个元素都有一个元素。CoffeeScript文档说明
如果你不需要当前的迭代值,你可以省略它:
browser.closeCurrentTab() for [0...count]
所以我应该可以说
foo = (0 for baz)
但是我在那里的编译器中得到了一个unexpected )
错误。奇怪的是,一个更复杂的版本确实有效:
foo = (0 for [0...(baz.length)])
文档中的此规则是否仅适用于以范围为源的理解?这项任务有更清洁的选择吗?
实际上,我认为new Array baz.length
是写它的最简单的方法。不可能出现歧义,因为baz.length永远是一个数字。
我倾向于同意您的观点,尽管文档暗示0 for baz
应该起作用。可能值得一份错误报告?
相关文章:
- 引用“;instanceof“/来自另一个范围的原型
- 使用javascript将数字缩放为一个范围
- 在另一个范围中设置的间隔的Javascript clearInterval
- 如何使用webkit浏览器在一个范围内选择一个节点
- Angular JS如何更新另一个范围变量中的范围变量
- Angular js- 当我在一个范围变量中进行更改时,它也会更改另一个范围变量
- 使用 Jquery 将元素的一些文本包装在一个范围中
- 将范围值保存在另一个范围中并同时显示
- 如何在 AngularJS 中对来自另一个范围的数据使用过滤器
- 单击在另一个范围对象中全选
- 如何在不重复的情况下将一个范围中定义的函数添加到另一个范围
- Javascript:使用crypto.getRandomValues生成一个范围内的随机数
- jQuery插件对象:通过.on()附加了一个事件处理程序,现在有一个范围问题.(主插件对象)
- 如何使用JavaScript或jQuery将网页中的一个范围(从选择)包装成特定的标记
- 如何创建一个范围内随机数的简单分布图(java或javascript)
- 在moment.js中设置一个范围
- 遍历循环,在一个范围内随机更改变量的值,但满足所有变量
- 如何提醒所有动态id's在一个范围内
- 使用jQuery UI datepicker在一个范围内定制特定的禁用日期
- ES 6类:Access "this"在另一个范围内