1

谁能解释为什么我不能正确确定原型哈希的大小。

以下打印出来klass {_object: Object, test: "foo", each: function, eachSlice: function, all: function…}证明“测试”对肯定会被添加。但大小打印为 0。

this.state = new Hash();

this.state["test"] = "foo";

console.log(this.state.size());
console.log(this.state);
4

2 回答 2

4

这是因为您只是向Hash实例添加了一个普通属性。您需要使用以下方法将元素实际添加到哈希中.set()

this.state.set("test", "foo");

这是一个工作示例

于 2013-02-15T13:50:07.780 回答
0

您也可以像这样使用其中的数据初始化散列。

var state = $H({'test':'foo','moretest':'bar'});

console.log(state.size()); // returns 2
console.log(state.get('moretest')); returns bar
于 2013-02-15T16:06:39.763 回答