用Coffeescript计算对象中的键数
Count number of keys in object with Coffeescript
我想知道我的coffeescript对象中有多少个键
我可以在js中这样做:
Object.keys(obj).length
在Coffeescript中有办法做到这一点吗?
Object.keys(obj).length
在coffeescript
中也是一样的看到示例
如果你担心旧浏览器的支持
Object.keys(obj).length
是ECMAScript 5解决方案
但是如果你想支持IE8和更早的版本,这是一个相当不显眼的Coffeescript特定的解决方案
(k for own k of obj).length
这使用CoffeeScript的理解语法来构建一个键数组
keys = (k for own k of obj) # Array of keys from obj
然后调用数组的length
JavaScript编译示例
创建keys
原型函数:
Object.defineProperty Object.prototype, 'keys',
enumerable : false,
writable : true,
value: ->
return (key for own key of @)
这样我就可以像这样使用
nodes_Ids: ->
return _nodes_By_Id.keys()
在这个测试中使用
it 'add_Node',->
visGraph = Vis_Graph.ctor()
visGraph.add_Node('a' ).nodes.assert_Size_Is(1)
visGraph.add_Node('a' ).nodes.assert_Size_Is(1)
visGraph.add_Node( ).nodes.assert_Size_Is(1)
visGraph.add_Node(null).nodes.assert_Size_Is(1)
visGraph.add_Node('b' ).nodes.assert_Size_Is(2)
visGraph.nodes_Ids() .assert_Contains ('a' )
visGraph.nodes_Ids() .assert_Contains ('b')
visGraph.nodes_Ids() .assert_Not_Contains ('c' )
相关文章:
- CoffeeScript将对象添加到数组中
- NodeJS'需要'在coffeescript中加载库,在Javascript中加载空对象
- 在CoffeeScript文件上运行Jasmine测试时,对象未定义错误
- 在对象coffeescript中添加对象数组
- CoffeeScript:对象初始化程序中的Getter/Setter
- CoffeeScript:使用对象作为参数
- javascript:检查是否存在几个特定的对象属性(同样在coffeescript中)
- 如何在 CoffeeScript 中克隆/复制对象的实例
- 任何转换对象*值*的Javascript或Coffeescript“映射”函数
- 如何在 coffeescript 中编写文字 jQuery 对象
- 使用动态名称初始化对象 - coffeescript/node.js/javaScript
- 如何重现正确的JavaScript对象文字属性,该属性是CoffeeScript中的匿名函数
- 获取函数 coffeescript 中的对象值
- CoffeeScript类-循环遍历继承对象的数组
- coffeescript:获取对象的值's属性以'@'象征
- 谷歌地图全球对象;coffeescript生成的js不起作用
- 使用CoffeeScript从对象数组中选择字段
- 如何避免CoffeeScript方法变量被包裹在对象文字中
- 对象未通过引用传递(CoffeeScript)
- CoffeeScript调用返回对象的方法(链接)