2016-03-23 4 views
-2

У меня есть этот массив массива, и я хочу пропустить его и дать мне все слова без «@», пунктуации и хэштега. Однако мое регулярное выражение полностью удаляет некоторые слова из массива, и я не уверен, почему.regex in node.js и javascript

[ [ '@AIMEEE94x', 
     '@Arsenal_Geek', 
     '@Charlottegshore', 
     'shut', 
     'it', 
     'ha' ], 
    [ '"You', 
     'learn', 
     'so', 
     'much', 
     '@MesutOzil1088', 
     'and', 
     '@Alexis_Sanchez"', 
     '-', 
     '@alexiwobi:' ] ] 


    var regex = /\w+/g; 
    var listsb = []; 
    for (i = 0 ; i < tweetsA.length; i++) { 
     for(j = 0; j < tweetsA[i].length; j++){ 

      if (regex.test(tweetsA[i][j])== true){ 
       listsb = listsb.concat(tweetsA[i][j]) 
      }                         

     } 
    } 
    console.log(listsb); 

ответ

0

Вы имели небольшую орфографическую ошибку в вашем listsb.length и также доступ к объекту неправильно. Попробуйте:

var dict = {}; 
for (i = 0; i < listsb.length; i++) { 
    if (listsb[i] in dict) { 
     dict[listsb[i]] += 1; 
    } else { 
     dict[listsb[i]] = 1; 
    } 

} 
console.log(dict); 

Если вы хотите установить объекты ключ к строке, вам нужно получить к нему доступ с помощью квадратных скобках обозначения, такие как myObject[myString]

+0

Привет Я редактировал вопрос. Не могли бы вы объяснить, в чем я ошибаюсь? –