2013-07-17 2 views
0

var id = "123456789";자바 스크립트 변수를 그룹으로 나누어

3 자리 숫자마다 그룹으로 나누는 방법 ??

결과는 다음과 같이해야합니다 :

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

는 ID가 더 이상 12, 15 개 또는 그 이상의 자리가됩니다 경우, 동일하게 작동한다!

+0

나는이 제품을 도와달라고 부탁했다. –

+0

도움의 손길에 감사한다. 그런 간단한 일로 스트레스를 받았지만, 지금 나에게 꽤 잘 돌아 간다! –

+1

여러 vars를 사용하지 말고 어레이를 사용하기로 결심하십시오. – 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); 
관련 문제