2012-05-08 3 views
1

값을 배열로 동적으로 푸시하는 방법을 찾는 데 어려움이 있습니다. 나는 다음과 같은 상황을 준 :자바 스크립트로 배열에 값을 동적으로 푸시

var get_anchors= new Array('pitzel','mitzel','sizzle') 

current_anchor= pics[key].anchor; //has the value 'sizzle' 

get_anchors[current_anchor].push(new Array('sizzle2','sizzle3')) 

자바 스크립트가 실패하고 get_anchors[current_anchor] is undefined

가 어떻게 get_anchors[current_anchor] 일을 할 수 있다고 말한다. 아니면이 작업을 수행하는 다른 방법이 있습니까?

원하는 결과는

+0

정확히 무엇입니까? 배열은 숫자 인덱스를 가지고 있으므로,'get_anchors [current_anchor]'는'current_anchor'가'0','1' 또는'2'가 아니기 때문에'undefined'입니다. 무엇을 성취하려고합니까? 더 많은 정보를 제공하면 더 나은 답변을 얻을 수 있습니다. –

+0

안녕하세요 주셔서 감사합니다 ... 사실 json 개체를 통해 루프의 일부입니다. 앵커 이름과 관련된 사진의 이름과 이름이 자주있는 앵커가 있습니다. 결국 앵커와 그에 해당하는 그림으로 배열을 만들고 싶습니다. [anchorame] [[picname1]], [ 'picname2']] – Jurudocs

+1

그래서'pitzel','pitzel'과'sizzle' 앵커이고'sizzleX'는 그림 이름입니까? 당신이 배열 대신 해시 맵을 원하는 것처럼 보입니다 ... –

답변

3

당신의 의견에 따라 배열 대신 해시 맵을 원하는 것처럼 보입니다.

var anchors = { 
    'pitzel': [], 
    'mitzel': [], 
    'sizzle': [] 
}; 

그런 다음 당신이 할 수 있습니다 :

anchors[current_anchor].push('sizzle2', 'sizzle3'); 

또는 anchorscurrent_anchor의 값을 갖는 속성이 없음을 가정하는 것은, 단순히 새로운 배열을 할당을 : 당신은 이것에 대한 객체를 사용할 수 있습니다

anchors[current_anchor] = ['fooX', 'fooY']; 

물론 개체를 동적으로 채울 수도 있습니다. 자세한 내용은 Working with Objects을보십시오.

+0

+1. 나는 PHP가 여기에 관여 내기 :) – unbeli

+0

탁탁 많이 ... 그 문제에 대한 다른 견해입니다 ... 나는 그것을 시도합니다 ... – Jurudocs

+0

@ unbeli 예 .. 그리고 PHP에서 이것은 매우 시원하고 작동합니다; P는 있지만 파이썬에서도 작동 할 것입니다. – Jurudocs

0

나는 당신이 뭘하려는 건지 이해가 확실하지 않다 [sizzle3 ','sizzle2 ']'pitzel ','mitzel ','지글 지글 '처럼,하지만 난해야 다른 요소가 발생한 후에 몇 가지 요소를 삽입하려고한다고 생각합니다. 이 트릭을 수행 할 것입니다 :

var get_anchors = [ 'pitzel', 'mitzel', 'sizzle' ]; 

current_anchor = get_anchors.indexOf(pics[key].anchor); 
get_anchors.splice(current_anchor + 1, 0, 'sizzle2', 'sizzle3'); 

// get_anchors = [ 'pitzel', 'mitzel', 'sizzle', 'sizzle2', 'sizzle3' ] 
+0

안녕하세요, 고맙습니다 ... 결국에는 [ 'pitzel', 'mitzel', 'sizzle'[ 'sizzle2']와 같은 2 차원 배열이 필요합니다. 'sizzle3']] – Jurudocs

+1

@Jurudocs : 원하는 결과를 추측 할 필요가 없도록 원하는 결과를 표시해야합니다. –

+0

@cliffsofinsanity 당신이 맞습니다. 편집이 도움이 되길 바랍니다 ... – Jurudocs

관련 문제