2014-01-15 4 views
1

궁극적으로 JSON 객체에 넣으려는 코드가 있습니다. 하지만 먼저 자바 스크립트 객체를 만들고 그 객체 내에 값 배열을 추가하려고합니다. 충분히 간단하지만 내 접근 방식은 잘못된 것 같습니다. 먼저 기본 객체를 만들고 몇 개의 필드를 설정합니다. 마지막으로, 여러 체크 박스를 반복하고 그 값으로 배열을 검사하면됩니다.자바 스크립트 객체에 배열 추가

마지막 단계에서이 배열을 객체 (myData)에 추가 한 다음 JSONify해야합니다.

어떻게하면 되겠습니까? myData.push (필터)처럼 보입니다. 작동하지 않습니다 ...

개체 자체는 배열이 아니므로 개체에 배열을 배치하고 싶습니다. 또한, 어쩌면 = {}= new Object을 변경

myData.push(filters);

myData.filters = filters;

에 개체에 항목을 추가하는 방법이 아니다

 var myData = new Object(); 

     myData.deviceId = equipId; 

     myData.dateTo = dateTo 
     myData.dateFrom = dateFrom; 
     myData.numResults = $("#numResults").val(); 
     var i=0; 
     var filters = []; 
     $('input[type=checkbox]').each(function() { 
       if (this.checked) { 
        allData += $(this).val() + ","; 
        filters[i] = { 
         filterIds: $(this).val() 
        }; 
        ++i; 
       } 
      }); 

     myData.push(filters); 
+1

푸시는 객체를위한 것이 아니라 배열을위한 것입니다. – Cilan

답변

0

은 변경할 수 있습니다. 차이는 없지만, 읽기가 쉽습니다. 왜냐하면 문자 표기법이 공간을 덜 차지하기 때문입니다.

더 읽기에 대한 Array.prototype.push

+0

감사합니다. – user3196063

+0

@ user3196063 결국 받아 들여야한다는 것을 기억하십시오! – Cilan

0

사용 pushfilters 배열에 요소를 추가 할 수 있습니다. 속성 할당을 사용하여 myData 객체에 다른 속성을 추가하십시오.

var myData = { 
     deviceId: equipId, 
     dateTo: dateTo, 
     dateFrom: dateFrom, 
     numResults: $("#numResults").val() 
    }; 
    var filters = []; 
    $('input[type=checkbox]').each(function() { 
     if (this.checked) { 
      allData += $(this).val() + ","; 
      filters.push({ 
       filterIds: $(this).val() 
      }); 
     } 
    }); 

    myData.filters = filters; 

BTW, {}를 사용하여 객체를 생성하는 new Object()를 사용하지 마십시오.

0

여분의 어레이가 필요 없으며 i.

var myData = {} 

myData.deviceId = equipId; 

myData.dateTo = dateTo 
myData.dateFrom = dateFrom; 
myData.numResults = $("#numResults").val(); 
myData.filters = []; 
$('input[type=checkbox]').each(function() { 
    if (this.checked) { 
     allData += $(this).val() + ","; 
     myData.filters.push({ 
      filterIds: $(this).val() 
     }); 
    } 
}); 
관련 문제