我想要一个字符串拆分每个单个字符并放入一个数组。字符串是:如何在javascript中以某些字符数字分割字符串?
var string = "hello";
您会使用.split()
吗?如果是这样如何?
我想要一个字符串拆分每个单个字符并放入一个数组。字符串是:如何在javascript中以某些字符数字分割字符串?
var string = "hello";
您会使用.split()
吗?如果是这样如何?
是的,你可以使用:
var str = "hello";
// returns ["h", "e", "l", "l", "o"]
var arr = str.split('');
好的,谢谢(我会在你允许[15分钟后]标记你的答案) – chromedude 2010-10-25 18:40:51
var s= "hello";
s.split("");
如果你真的想在标题中描述的去做,这应该工作:
function splitStringAtInterval (string, interval) {
var result = [];
for (var i=0; i<string.length; i+=interval)
result.push(string.substring (i, i+interval));
return result;
}
谢谢,虽然这不是我真正的问题,我正在寻找这个答案,以备将来参考。 – chromedude 2010-10-25 18:57:28
我研究过类似的问题打破所有其他角色。对正则表达式阅读后,我想出了这个:
data = "0102034455dola";
arr = data.match(/../g);
结果是数组:["01","02","03","44","55","do","la"]
这里有一个简单的方法while循环做到这一点;
function splitStringAtInterval(str, len){
var len = 10;
var arr = [];
str = str.split("");
while(str.length > len){
arr.push(str.splice(position,len).join(""));
}
if(str.length > 0)arr.push(str.join(""));
return arr;
}
如果你想它短和“功能性”:
var input = 'abcdefghijklmn1234567890';
var arr = Array.prototype.slice.call(input), output = [];
while (arr.length) output.push(arr.splice(0, 3).join(''));
output; // ["abc", "def", "ghi", "jkl", "mn1", "234", "567", "890"]
你真的是在标题中规定的“特定字符数”,或者在“每一个字”为主体这个问题? – jball 2010-10-25 18:40:45
我以为他们会有关系。因为我认为在这种情况下它将是每1个字符,但在其他情况下,它可能是每三个字符。我正在寻求一个我认为是相关的更广泛的问题。 – chromedude 2010-10-25 18:44:00
“特定数字”的解决方案产生了“每一个”的解决方案,但反过来并不一定是正确的。例如@哈门的答案下面将一个奇怪的起点分裂成3个字符的字符串的字符串。 – jball 2010-10-25 18:51:37