将字符串分解为hashmap以进行搜索?

时间:2010-10-24 02:23:45

标签: javascript

我有一个这样的字符串从我的后端返回:

"1,2,3,4,5,6"

我在本地有一个大型数组,并且只想显示那些不在此列表中的项目,所以我想将这个字符串扩展为数组但是如何有效地搜索?据我所知,JS中没有哈希图,那怎么做呢?我只需要检查密钥的存在。

2 个答案:

答案 0 :(得分:2)

"1,2,3,4,5,6".split(",").some(function(letter) { 
  return letter === '2' 
});

警告:可能无法在IE(或其他糟糕的浏览器)中使用

跨浏览器版本(依赖本机代码提高性能):

var arr = "1,2,3,4,5,6".split(",");
if(arr.some)
{
  arr.some(function(letter) { 
    return letter === '2' 
  });
}
else
{
  for(var i  = 0 ; i < arr.length ; i++ )
  {
      if(arr[i] === '2') return true;
  }
}

答案 1 :(得分:2)

所有Javascript对象也是可以存储字符串或数字键的哈希表:

var x = {};
x["foo"] = 1;
if("foo" in x) { alert("hello!"); }
if("bar" in x) { alert("should never see this"); }