तो मेरे पास एक प्रोग्राम है जो एक आईफ्रेम में लोड किए गए दस्तावेज़ में शब्दों की गणना करता है, सभी न्यूलाइन वर्णों को एक स्थान से बदल दिया जाता है, फिर स्ट्रिंग को रिक्त स्थान से विभाजित किया जाता है, फिर मैं उन्हें कुंजी के रूप में मानचित्र में जोड़ना चाहता हूं और उनका मान 1 पर सेट करें यदि वे मानचित्र में नहीं हैं या कोई स्थान नहीं है, यह वह जगह है जहां मुझे समस्या हो रही है क्योंकि यह अभी भी स्ट्रिंग में प्रत्येक स्थान की गणना कर रहा है, मुझे लगता है कि मैं वास्तव में बेवकूफ हूं और कुछ याद कर रहा हूं ज़ाहिर...
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 जवाब
कुछ तो है, समझ में नहीं आता। जब आप विभाजित ('')। सरणी में '' नहीं है, केवल शब्द हैं!!!, https://www.w3schools.com /jsref/jsref_split.asp। बेटा गवाही देने की जरूरत क्यों है सफेद जगह। तब मुझे लगता है, यह इसमें हो सकता है:
.replace(/(\r\n|\n|\r)/gm, " ")
विभाजित सरणी में "" नहीं " " जैसा मैंने मूल रूप से सोचा था। जैसे मैंने कहा कि मैं वास्तव में कुछ स्पष्ट याद कर रहा था, बस यह देखने की जरूरत थी कि सरणी में क्या था।
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);
/\b/g
का उपयोग करना आसान होगा?