तो मेरे पास एक प्रोग्राम है जो एक आईफ्रेम में लोड किए गए दस्तावेज़ में शब्दों की गणना करता है, सभी न्यूलाइन वर्णों को एक स्थान से बदल दिया जाता है, फिर स्ट्रिंग को रिक्त स्थान से विभाजित किया जाता है, फिर मैं उन्हें कुंजी के रूप में मानचित्र में जोड़ना चाहता हूं और उनका मान 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 || "";
}
1
Chaz 15 फरवरी 2017, 11:52
1
यदि आप 'स्प्लिट' का उपयोग करते हैं तो क्या यह आपको पहले से ही शब्दों की एक सरणी नहीं देता है, बिना स्पेस कैरेक्टर के?
 – 
Romi Halasz
15 फरवरी 2017, 11:55
1
क्या शब्दों को खोजने के लिए /\b/g का उपयोग करना आसान होगा?
 – 
adeneo
15 फरवरी 2017, 11:58

3 जवाब

कुछ तो है, समझ में नहीं आता। जब आप विभाजित ('')। सरणी में '' नहीं है, केवल शब्द हैं!!!, https://www.w3schools.com /jsref/jsref_split.asp। बेटा गवाही देने की जरूरत क्यों है सफेद जगह। तब मुझे लगता है, यह इसमें हो सकता है:

.replace(/(\r\n|\n|\r)/gm, " ")
1
Álvaro Touzón 15 फरवरी 2017, 11:59

विभाजित सरणी में "" नहीं " " जैसा मैंने मूल रूप से सोचा था। जैसे मैंने कहा कि मैं वास्तव में कुछ स्पष्ट याद कर रहा था, बस यह देखने की जरूरत थी कि सरणी में क्या था।

0
Chaz 15 फरवरी 2017, 12:06
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
Ravindra Singh 15 फरवरी 2017, 12:06
उम्मीद है इससे आपको मदद मिलेगी :)
 – 
Ravindra Singh
15 फरवरी 2017, 12:07