Regexp - javascript = как можно это ускорить?

238
11 ноября 2017, 14:43
// npn install performance-now
var now = require("performance-now");
var start = now();
var end = now();
// здесь специально сделана ошибка "::" - для проверки...
var cmd='{"AFDS":"0","Fn"::"[cr@1,cr@2]"}';
//получатель результата
function agent(taskbox){
 console.log(taskbox.msg,taskbox.jsonbox,(start-end).toFixed(3));
}
function checkJson(data,cb) {
 var check_proc={
     "jsonbox":"json str",
     "err":['",',',"','{,',',}','[,',',]','::'],
     "msg":[],
     "agent":{} };
     check_proc.filtr_0=new RegExp(/[^/\[|/\]|/\{|/\}|/\"|/\:/]/gim);
     check_proc.filtr_1=new RegExp(/\"":""/g),
     check_proc.filtr_2=new RegExp(/\[]/g||/\()/g),
     check_proc.filtr_3=new RegExp(/\{}/g);
 // это предварительная подготовка к проверке строки на валидность JSON..
     check_proc.jsonbox=((((data.replace(check_proc.filtr_0,''))
     .replace(check_proc.filtr_1,''))
     .replace(check_proc.filtr_2,''))
     .replace(check_proc.filtr_1,''))
     .replace(check_proc.filtr_3,'');
return cb(check_proc);
// ..дальше код проверки, с ним все ок.. 
 }
checkJson(cmd,agent);

-0.033 -> как то многовато... :-(

READ ALSO
Выбор лучших мест в зале

Выбор лучших мест в зале

Лучшими, можно считать географически центральные местаКак получить массив самых центральных мест?

390
Одинаковый код на Python и JavaScript работает по-разному

Одинаковый код на Python и JavaScript работает по-разному

Почему одинаковый код на разных языках работает по-разному? На Python работает корректно, на JS - нетЯ написал "аттакер" на линейно-конгруэнтный...

268
Реализация Service Worker на Angular 2/4

Реализация Service Worker на Angular 2/4

Вопрос такой - как правильно реализовать Service Worker на Angular 2/4? Меня именно интересуют уведомления, когда приложение не активно (вкладка не открыта),...

213
Почему typeof пропускает функцию в цикле for in?

Почему typeof пропускает функцию в цикле for in?

Есть метод который перебирает объект и записывает только свои свойства, без методовНо проверка typeof на функцию не работает, и метод тоже записывается

218