我有一个 javascript 程序,它使用我的 JSON 数据(200Mega)执行操作这个程序通过 regxp 搜索我的数据中的出现
var myDatas = [
{ "id" : "0000000001",
"title" :"Data1",
"info": {
"info1": "data data data",
"info2": "infoinfoiinfoinfo",
"info3": "info333333333",
"miscellaneous": "",
"other": [
{"title": "qwe", "ref": "other"},
{"title": "sdsd", "ref": "other"},
{"title": "ddd", "ref": "123"}
]
},
"text": "xxxx text sldjdjskldj text text" },
. . . ];
实际执行太慢了。
我会使用 Worker of html 5 但 IE9 不支持 IE9。
我的计划:
iterObject : function(obj){
var text = $('#search-input').val() //text to search
var self = this
$.each(obj, function(key, value) {
if((typeof value) == 'object'){
self.iterObject(value)
}
else{
self.Search(text, value)
}
}
}
Search : function(item, text){
var regexThisFragment =
new RegExp("[^a-zA-Z0-9]+.{0,40}[^a-zA-Z]+" +
item +
"[^a-zA-Z]+.{0,40}[^a-zA-Z0-9]+", "i")
while(text.match(regexThisFragment) != null)
{
var fragment = text.match(regexThisFragment).toString()
console.log(fragment );
}
}
},
如何改进我的程序?