2011-11-02 8 views
25

जेएस में यदि आप उपयोगकर्ता प्रविष्टि को सरणी में विभाजित करना चाहते हैं तो इसके बारे में जाने का सबसे अच्छा तरीका क्या है?सरणी में स्ट्रिंग स्ट्रिंग

उदाहरण के लिए:

entry = prompt("Enter your name") 

for (i=0; i<entry.length; i++) 
{ 
entryArray[i] = entry.charAt([i]); 
} 

// entryArray=['j', 'e', 'a', 'n', 's', 'y'] after loop 

शायद मैं इस बारे में गलत तरीके से जा रहा हूँ - किसी भी मदद की सराहना करेंगे!

उत्तर

45

.split() विधि का उपयोग करें। विभाजक के रूप में खाली स्ट्रिंग निर्दिष्ट करते समय, split() विधि प्रति तत्व एक तत्व के साथ एक सरणी लौटाएगी।

entry = prompt("Enter your name") 
entryArray = entry.split(""); 
+1

'.split ('') 'का उपयोग न करें। कृपया देखें http://stackoverflow.com/a/38901550/112731 –

6

उपयोग var array = entry.split("");

1

उपयोग split विधि:

entry = prompt("Enter your name"); 
entryArray = entry.split(""); 

अधिक जानकारी के लिए String.prototype.split() देखें।

2

आप इस कोशिश कर सकते हैं:

var entryArray = Array.prototype.slice.call(entry)

+2

देखें [http://jsperf.com/string-to-array-of-characters ](http://jsperf.com/string-to-array के- अक्षर)। – XP1

7

ES6:

const array = [...entry]; // entry="i am" => array=["i"," ","a","m"] 
2

... और यह भी उन लोगों के लिए सीएस में साहित्य की तरह हैं।

array = Array.from(entry); 
1

क्या आप गैर-अंग्रेजी नामों की देखभाल करते हैं? यदि हां, तो प्रस्तुत समाधान (.split (''), [... str], Array.from (एसटीआर), आदि) के सभी भाषा के आधार पर, बुरे परिणाम दे सकते हैं:

"प्रणव मुखर्जी".split("") // the current president of India, Pranab Mukherjee 
// returns ["प", "्", "र", "ण", "व", " ", "म", "ु", "ख", "र", "्", "ज", "ी"] 
// but should return ["प्", "र", "ण", "व", " ", "मु", "ख", "र्", "जी"] 

पर विचार करें एक स्वच्छ मानक-आधारित विभाजन के लिए ग्रैफेम-स्प्लिटर लाइब्रेरी का उपयोग करना: https://github.com/orling/grapheme-splitter