2011-11-02 9 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() 메서드는 문자 당 하나의 요소가있는 배열을 반환합니다.

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