2013-07-17 122 views
0

有一個var id = "123456789";將JavaScript變量拆分爲組

如何在每個3位數後分成組?

結果一定是這樣的:

var no1 = 123; 
var no2 = 456; 
var no3 = 789; 

如果ID會比較長12,15個或多個數字,應該工作一樣!

+0

我要求幫忙,減去這篇文章 –

+0

感謝幫忙的人,我對這麼簡單的事情有一種壓力,但它現在對我來說非常有用! –

+1

希望您擺脫使用多個變量並決定使用數組。 – smerny

回答

3

這可能是您的答案,根據您的需要使用此功能,output陣列包含結果

function parseDigits() 
{ 
    var number = 123456789, 
    output = [], 
    sNumber = number.toString(); 

    for (var i = 0, len = sNumber.length; i < len; i += 3) { 
     output.push(+sNumber.charAt(i)+sNumber.charAt(i+1)+sNumber.charAt(i+2)); 
    } 

    alert(output); 

} 
+0

感謝您的幫助,我對這樣一件簡單的事情產生了壓力,但現在它對我來說非常有用! –

1

可以工作嗎?

var id = "123456789" 
var arr = id.match(/.{1,3}/g); 

這裏:

arr[0] == "123" 
arr[1] == "456" .... 

更好地得到利用substring()值。在執行substring()以從IndexOutOfBounds節省您自己的錯誤之前,請檢查長度。

+0

以及如何將每個組保存在變量中? –

1
var splittedArray = yourString.match(/.../g); 

這樣你會得到所有你的價值觀:)

+0

以及如何將每個組保存在變量中? –

+0

你不能猜測你會得到多少變量:) –

+0

然後你可以做這樣的循環: for(var i = 0; i

1
var result = []; 
for(var i = 0; i < id.length; i+=3){ 
    result.push(id.substring(i, i + 3)); 
} 

如果你想確切的結果(存儲在沒有變量)的陣列:

for(var i = 0, j = 1; i < id.length; i+=3, j++){ 
    window['no' + j] = id.substring(i, i + 3); 
} 

console.log(no1); 
console.log(no2); 
console.log(no3);