我有一个包含几千个整数键的列表。对于这个列表,我唯一需要做的就是判断一个给定值是否在列表中。
对于C#,我会使用HashSet来快速查找。JavaScript的等价物是什么?
最低支持级别: IE 9+、jQuery (当前)
发布于 2014-06-13 09:09:07
在幕后,JavaScript对象是用哈希表实现的。因此,您的Key:Value对应该是(your integer):true
常量时间查找函数可以实现为:
var hash = {
1:true,
2:true,
7:true
//etc...
};
var checkValue = function(value){
return hash[value] === true;
};
checkValue(7); // => true
checkValue(3); // => false发布于 2017-07-12 19:22:26
实际上,JavaScript提供了一个Set object,使用起来相当简单:
var set = new Set();
set.add(1);
set.add(2);
set.has(1) // true不幸的是,它与IE9不兼容。
发布于 2014-06-13 08:43:21
使用对象。要将关键点添加到集合中,请执行以下操作:
object[key] = true;要测试密钥是否在集合中,请执行以下操作:
if (object.hasOwnProperty(key)) { ... }要从集合中移除关键点,请执行以下操作:
delete object[key]https://stackoverflow.com/questions/24196067
复制相似问题