所以我有一个程序可以计算加载到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 || "";
}
答案 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);