मेरे पास एक word.txt फ़ाइल है जो कुछ इस तरह दिखती है:

account
arm
cotton
zoo

XMLHttpRequest का उपयोग करके मैं उस फ़ाइल को लोड कर रहा हूं, एक सरणी सूची बना रहा हूं जिसमें प्रत्येक पंक्ति अलग से निम्न कोड का उपयोग कर रही है:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    //this is where I split it
    wordlist = this.responseText.split('\n');
  }
};
xhttp.open('GET', 'words.txt', true);
xhttp.send();

फिर मैं यादृच्छिक रूप से सूची से एक तत्व चुनता हूं, मान लें कि account, और सभी अलग-अलग वर्ण प्राप्त करने के लिए इसे '' से विभाजित करें:

word = wordlist[randomIndex].split('');

मुझे उम्मीद है कि परिणाम इस तरह दिखेगा:

["a","c","c","o","u","n","t"]

हालांकि, अंत में एक अतिरिक्त खाली स्ट्रिंग होने पर यह इस तरह से निकलता है:

["a","c","c","o","u","n","t",""]

मैं इससे ठीक से कैसे छुटकारा पाऊं?

0
dasdawidt 30 अक्टूबर 2019, 22:08

1 उत्तर

सबसे बढ़िया उत्तर

विंडोज-स्टाइल लाइन ब्रेक सिर्फ \n नहीं हैं, वे \r\n हैं। इस वजह से, यदि आपकी फ़ाइल को Windows शैली में बनाया गया था, तो \n पर विभाजित करने पर भी अनुगामी \r वर्ण रह जाएगा।

चरित्र द्वारा विभाजित करने से पहले आप बस अपने तारों को ट्रिम कर सकते हैं:

word = wordlist[randomIndex].trim().split('');
2
IceMetalPunk 30 अक्टूबर 2019, 19:10