检查字符串是否不是Javascript中的空格

时间:2017-02-15 08:52:08

标签: javascript

所以我有一个程序可以计算加载到iFrame中的文档中的单词,所有换行符都被空格替换,然后字符串被空格分割,然后我想将它们添加到地图中作为键并将其值设置为1,如果它们不在地图中或不在空格中,这就是我遇到问题的地方,因为它仍在计算字符串中的每个空格,I我觉得自己真的很蠢,而且错过了一些明显的东西......

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 || "";
}

3 个答案:

答案 0 :(得分:1)

有些东西,理解。拆分时('')。数组不包含'',只有单词!!!,https://www.w3schools.com/jsref/jsref_split.asp。儿子为什么需要testif是白色空间。然后我想,它可能在:

CGImage

答案 1 :(得分:0)

分裂数组包含“”不是“”,就像我原先想的那样。就像我说我错过了一些非常明显的东西,只需要看看数组中的内容。

答案 2 :(得分: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);