对象属性作为哈希函数中的键值对
object properties as key value pairs in hash function
我有一个关于Javascript的基本问题。
作为Javascript没有哈希表对象,但我意识到我可以像下面这样构建一个对象来使用它作为哈希表:
var hashtable = {
Today : {"I", "feel", "good"},
Tomorrow : {'is', 'another', 'day'},
Yesterday : 'alwaysGood'
}
我在互联网上搜索了很多,有一些使用associativeArray或构建自己的对象作为哈希表的手段,是上述原生对象构建方法不好吗?
你的代码样本是无效的JavaScript,因为这个{"I", "feel", "good"}
。在这种情况下,花括号代表对象字面量,并且必须为每个对象的属性赋值。
一个有效的版本应该是这样的:
var hashtable = {
Today : ["I", "feel", "good"],
Tomorrow : ['is', 'another', 'day'],
Yesterday : 'alwaysGood'
}
注意使用[]
创建一个数组。JavaScript中的数组是数字键控的,不像其他语言中那样有关联数组的概念。然而,JavaScript数组本身也是一个对象,因此您可以自由地添加属性:
var arr = [];
arr.Today = 'some value';
为了避免在示例中使用数组,您需要为所有属性设置值:
var hashtable = {
Today : {"I" : "i val", "feel" : "feel val", "good" : "good val"},
Tomorrow : {'is' : 'is val', 'another' : 'another val', 'day' : 'day val'},
Yesterday : 'alwaysGood'
}
以这种方式使用对象是有效且可接受的。有关更多信息,请参阅使用对象(MDN)。
相关文章:
- 正在数组中存储键值对
- 如何将新的键/值对元素添加到现有数组
- 在键值对中对求和值进行下划线
- 返回由键/值对定义的数组
- 在url参数javascript中存储键值对列表
- 将数组转换为键值对
- jQueryAJAX-将额外的键/值对推送到序列化的$_POST数组中
- 使用jQuery从ajax调用访问键值对
- 将动态键值对传递给函数
- d3使用键值对对对多个值的数据进行分组
- JavaScript 在函数中声明键值对
- 如何给$('inputs')每个函数,以将数据存储为 asp.net 中的键值对
- 从数组中选择键值对时无法执行函数
- 如何调用函数与键值对写在返回块
- 如何从函数返回有序的键/值对
- 如何将.reduce函数生成的数组操作为单独的键/值对?(JavaScript)
- 对象属性作为哈希函数中的键值对
- 函数将URL哈希参数转换为对象(键值对)
- 使用函数参数查找和对象键值对
- 用于从两个对象属性创建键值对的函数