我有一个这样的字符串从我的后端返回:
"1,2,3,4,5,6"
我在本地有一个大型数组,并且只想显示那些不在此列表中的项目,所以我想将这个字符串扩展为数组但是如何有效地搜索?据我所知,JS中没有哈希图,那怎么做呢?我只需要检查密钥的存在。
答案 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"); }