2013-08-12 3 views
0

로 스플릿 배열의 요소를합니다내가이 같은 문자열을 가질 수

지금은이 같은 배열로 분할
var a="12,332,22,212"; 

: 다음

a=a.split(","); 

a=["12","332","22","212"]; 

다음과 같은 배열을 얻고 싶습니다.

a=[12,332,22,212]; 

즉, 배열의 요소는 Number이어야합니다.

이제 배열을 반복해야합니다 : 어떤 다른 생각이

for(var i=0,len=a.length;i<len;i++){ 
    a[i]=parseFloat(a[i]); 
} 

있습니까?

+0

다른 방법하는'지도'를 사용 할 수 : 'A = a.split (' ') 맵 (함수 (참조) {에서는 parseFloat (번호)를 반환})' –

답변

3

에 대한 dheerosaur, 당신이 누락 된 괄호를 추가 할 필요가 있다는 것을 의미합니다. .

var a="12,332,22,212"; 
a = "[" + a + "]"; 
a = JSON.parse(a); //[12, 332, 22, 212] 
+0

Nips, obvjous 답변을 놓친 이유는 무엇입니까? +1, 이것이 가장 좋은 답변입니다. –

+0

'map' 메서드는 모든 브라우저에서 지원되지 않으므로이 답변이 가장 적합하다고 생각합니다. :) – hguser

0

이 시도 :

var arr = [], 
var a="12,332,22,212"; 

arr.push.apply(arr, a.split(",").map(Number)); 
0

을 여기에, 제가 아는 한, 가장 간단한 방법이 될 것입니다이 코드

for(var i=0; i<a.length;i++) a[i] = +a[i]; 

를 사용하여, 당신은 또한

불구하고 array.map 사용할 수 있습니다
var result = a.map(function (x) { 
    return parseInt(x, 10); 
}); 

주 : 크레딧 위의 코드 변환을 할 JSON.parse를 사용하는 또 다른 방법이 될 것

+1

은'Array.map''는 케이 jQuery가 필요하다. [ECMAScript 5 표준] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)의 일부이며, [Array.forEach '] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) –

+0

젠장, 내 잘못이야. 고정 –

관련 문제