我想要一個字符串拆分每個單個字符並放入一個數組。字符串是:如何在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