2011-09-22 5 views
1

자바 스크립트에서 객체 값으로부터 문자열을 생성하는 가장 짧은 방법

var obj = { 
    a: 'hello', 
    b: 32, 
    c: 'foo' 
} 

다음 문자열을 추출해야합니다.

'hello, 32, foo' 
현재 방법은 다음과 같습니다.

var ar = []; 
for (var key in obj){ 
    if (obj.hasOwnProperty(key)){ 
    ar.push(obj[key]); 
    } 
} 
var str = ar.join(', '); 

이보다 짧은 방법이 있습니까?

ExtJs가 허용됩니다 (jQuery는 사용할 수 없음).

+1

'Object.prototype'을 열거 가능한 속성으로 확장하는 코드를 작성하거나 포함시키지 않으면'obj.hasOwnProperty (key)'를 생략하고'for (var key in obj) ar.push (obj [key]); ' – user113716

+0

예, hasOwnProperty는 현재 삭제할 수 있지만 obj는 나중에 더 복잡한 객체가 될 수 있습니다. – Guid

+0

그럴 경우, 객체와 원하는 조인 문자열을 받아들이고 결과를 반환하는 함수로 코드를 옮기라고합니다. * (ExtJs에서 이미 사용할 수있는 것이 있는지 모르겠습니다.) * – user113716

답변

1

내게 꽤 짧은 것 같습니다. 그보다 적은 코드를 원하는 이유는 무엇입니까? Ext JS에는 사용자 정의 배열 함수를 제공하여 반복을 추상화하는 것 외에는 내장 된 것이 없지만 문자열을 생성하는 데 필요한 논리는 여전히 사용자 정의 코드입니다. 니 일상은 나에게 잘 어울린다.

관련 문제