2012-10-11 5 views
0

불충분 한 제목은 죄송합니다.개체에서 선택 상자 채우기 두 번째 개체에 존재하지 않는 경우

나는 그때 내가 나 비어 있지 않을 수도 있습니다 fencesCookie라는 객체의 배열을 가지고

markers[name] = {}; 
markers[name].id = id; 
markers[name].lat = lati; 
markers[name].lng = longi; 
markers[name].state = state; 
markers[name].position = posi; 
markers[name].selected = false; 

로 이름 난 이런 식으로 구축 마커 1 객체를 가지고있다.

비어 있지 않으면 다음과 같이 보입니다. 순간

[ 
    Object 
    contact: "Vince Test" 
    lat: 40.758577 
    lng: -73.984464 
    radius: 100 
    __proto__: Object 
    , 
    Object 
    contact: "Vince WF" 
    lat: 35.86166 
    lng: 104.19539699999996 
    radius: 300 
    __proto__: Object 
    ] 

가 나는 것을 키 (마커 이름)이 fencesCookie 중 하나와 일치하는 경우, 그래서 그것을 편집 할이

for (var key in markers) { // loop through markers and append the selectbox 
    appendContactList(key); 
} 

처럼, 각 마커 객체 키에 대한 선택 상자를 채 웁니다 .contact 항목은 선택 상자에 추가하지 않습니다.

건배

+0

appendContactList() 함수의 코드는 무엇입니까? –

+0

어떤 값이 일치해야합니까 ??. 이름 키가 객체의 연락처와 일치해야합니까? –

+0

마커의 var 키가 fencesCookie.contact와 일치해야합니다 .contact –

답변

2

뭔가를?

for (var key in markers) { // loop through markers and append the selectbox 
    var test = true; 
    for(var i=0, len=fencesCookie.length;i<len;i++){ 
     if(key==fencesCookie[i].contact) { 
      test=false; 
      break; 
     } 
    } 
    if(test) appendContactList(key); 
} 
+0

감사합니다. 길이를 올바르게 입력하면 작동합니다. P –

+0

VinceLowe가 수정되었지만 @Bergi 메서드가 훨씬 더 깨끗했습니다. –

3

내가 제대로 객체/배열 구조를 이해할 수 있는지 모르겠지만,이 코드는 당신에게 아이디어를 줄 것이다 추측이 같은

markerloop: for (var key in markers) { 
    for (var i=0; i<fencesCookie.length; i++) 
     if (fencesCookie[i].id == key) 
// or is it fencesCookie[i].contact == markers[key].id ? 
      continue markerloop; 
    // else the key was not found 
    appendContactList(key); // append the selectbox 
} 
관련 문제