2011-11-02 11 views
25

JSでは、ユーザーエントリを配列に分割したい場合は、それについての最良の方法は何ですか?例えば配列を配列に分割する

:おそらく、私はこれについて間違った道を行くよ

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()メソッドは1文字につき1要素の配列を返します。

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

'.split( '')'を使わないでください。 Pls参照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

を...ともCSで文学が好きな人のために。

array = Array.from(entry); 
1

英語以外の名前は気になりますか?もしそうであれば、提示ソリューション(.split( '')、[... STR]、Array.from(STR)、など)のすべては、言語に応じて、悪い結果を与えることがあります。

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

を考えてみましょうgrapheme-splitterライブラリを使ってクリーンな標準ベースの分割を行う: https://github.com/orling/grapheme-splitter