将字符串拆分成数组
在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
也许我要对此错误的方式 - 希望得到任何帮助!
使用.split()
方法。当指定空字符串作为分隔符时,split()
方法将返回一个数组,每个字符包含一个元素。
entry = prompt("Enter your name")
entryArray = entry.split("");
使用var array = entry.split("");
使用split
方法:
entry = prompt("Enter your name");
entryArray = entry.split("");
参考String.prototype.split()
获取更多信息。
你可以试试这个:
var entryArray = Array.prototype.slice.call(entry)
请参阅[http://jsperf.com/string-to-array-of-characters](http://jsperf.com/string-to-array -of-字符)。 – XP1
ES6:
const array = [...entry]; // entry="i am" => array=["i"," ","a","m"]
...和谁也为那些喜欢在CS文献。
array = Array.from(entry);
您是否在意非英文名?如果是这样,所有提出的解决方案(.split( ''),[... STR],Array.from(STR)等)可能会糟糕的结果,这取决于语言:
"प्रणव मुखर्जी".split("") // the current president of India, Pranab Mukherjee
// returns ["प", "्", "र", "ण", "व", " ", "म", "ु", "ख", "र", "्", "ज", "ी"]
// but should return ["प्", "र", "ण", "व", " ", "मु", "ख", "र्", "जी"]
考虑使用字形分隔符库进行干净的基于标准的分割: https://github.com/orling/grapheme-splitter
请勿使用'.split('')'。请参阅http://stackoverflow.com/a/38901550/112731 –