我想知道我的coffeescript对象中有多少个键。
在js中可以使用以下代码:
Object.keys(obj).length
在Coffeescript中有没有相应的方法?
我想知道我的coffeescript对象中有多少个键。
在js中可以使用以下代码:
Object.keys(obj).length
在Coffeescript中有没有相应的方法?
如果您担心旧版浏览器的支持
Object.keys(obj).length
这是一个 ECMAScript 5 的解决方案。
但是,如果你想支持 IE8 及更早版本,则可以使用一个相对不显眼的 Coffeescript 特定的解决方案。
(k for own k of obj).length
keys = (k for own k of obj) # Array of keys from obj
然后在该数组上调用length方法。
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' )