2012-06-11 5 views
0

내가 자바 스크립트에서 두 개 이상의 연관 배열을 가지고에 연관 배열에 참여는 자바 스크립트

tagFinal = tagArray.join("<BR>"); 

을하지만 결과는 비어 있습니다.

그것은 발생한다 : 내가 잘못 뭐하는 거지 tagFinal = '<H1>title</H1><BR><P>text</P>';

? (나는 또한 태그없이 아무런 차이도 시도하지 않았다) 아니면 새로운 배열/문자열로 push() -ng 그것을 더 좋을까요?

+0

개체의 속성이 시작된 순서대로 유지된다는 보장이 없으므로 코드 디자인을 재고하고 다른 솔루션을 찾아야합니다. – Amberlamps

+0

javascript가 PHP와 동일한 구문을 허용한다는 것은 우연의 일치입니다. 똑같은 일을한다는 것을 의미하지는 않습니다. PHP에서 가장 가까운 것은'$ obj -> { "title"} = '

제목

'입니다. – Esailija

답변

2

JavaScript에는 "연관 배열"유형이 없습니다. 객체가 있고 배열이 있습니다. Array 프로토 타입에는 .join() 메서드가 있지만 Object는 그렇지 않습니다.

(일반적으로 객체는 연관 배열과 같은 일종의 정렬 작업을하지만 실제 배열을 모방 한 명시적인 기능은 없습니다. 예를 들어 Object 인스턴스의 "길이"를 찾을 수 없습니다.)

당신은 그러나 이러한 기능을 쓸 수있다 : 당신이 정말로 (상속 된 반대) 객체의 직접 속성 작업에 "smush"기능을 제한 할 것인지

function smush(o, sep) { 
    var k, rv = null; 
    for (k in o) { 
    if (o.hasOwnProperty(k)) { 
     if (rv !== null) rv += sep; 
     rv += o[k]; 
    } 
    } 
    return rv; 
} 

, 그리고 여부를 수도 유형별로 필터링하고 싶다면 직접 결정해야 할 사항이 있습니다.