2017-02-15 5 views
1

iFrameに読み込まれた文書内の単語を数え、改行文字をすべてスペースで置き換えてから文字列を分割しますスペースではなく、マップにキーを追加して、マップにないかスペースでない場合は値を1に設定したいと思っています。文字列、私は本当に愚かで何かを明らかにしていないように感じる...文字列がJavaScriptの空白でないかどうかを確認する

var innerDoc = document.getElementById("pageinframe"); 
var innerDocContent = innerDoc.contentDocument.body.innerHTML; 
var split = strip(innerDocContent).replace(/(\r\n|\n|\r)/gm, " ").split(" "); 
var obj = new Map(); 
for (var x = 0; x < split.length; x++) { 
    console.dir(typeof split[x]); 
    if(!obj.has(split[x]) && (split[x] != " ")) { 
     obj.set(split[x], 1); 
     } 
     else if (split[x] != " ") { 
     obj.set(split[x], obj.get(split[x])+1); 
     } 
} 

function strip(str) { 
    var tmp = document.createElement("DIV"); 
    tmp.innerHTML = str; 
    return tmp.textContent || tmp.innerText || ""; 
} 
+1

「分割」を使用しても、空白文字を除いた単語の配列が表示されていませんか? –

+1

'/ \ b/g'を使って単語を見つける方が簡単でしょうか? – adeneo

答えて

1

何か、icantを理解しています。分割したとき( '')。配列には ''、単語のみ!!!、https://www.w3schools.com/jsref/jsref_split.aspが含まれていません。息子なぜtestifする必要があります空白です。そして、私が思うに、それはにすることができます:私は当初考えていたよう

.replace(/(\r\n|\n|\r)/gm, " ") 
0

分割アレイ「は、「」ない」に含まれます。私が言ったように、私は本当に明白な何かを見逃していました、ただアレイにあったものを見る必要がありました。

0
var innerDoc = document.getElementById("pageinframe"); 

var innerDocContent = innerDoc.contentDocument.body.innerHTML; 

var split = strip(innerDocContent).replace(/(\r\n|\n|\r)/gm, " ").split(" "); 
var obj = new Map(); 
for (var x = 0; x < split.length; x++) { 

    // Removing NaN for string 
    if(split[x].charCodeAt(0)) 
    { 
     if(!obj.has(split[x]) && (split[x] != " ")) { 
      obj.set(split[x], 1); 
      } 
      else if (split[x] != " ") { 
      obj.set(split[x], obj.get(split[x])+1); 
      } 
    } 
} 

function strip(str) { 
    var tmp = document.createElement("DIV"); 
    tmp.innerHTML = str; 
    return tmp.textContent || tmp.innerText || ""; 
} 

console.log(obj); 
+0

私はこれがあなたを助けることを願っています:) –

関連する問題