.push () 메서드를 통해 객체에 항목 추가
'체크 박스'유형의 몇 가지 입력 요소를 통해 루프를 수행하고 있습니다. 그 후 값을 추가하고 배열에 속성을 확인합니다. 이것은 내 코드입니다.
var stuff = {};
$('form input[type=checkbox]').each(function() {
stuff[$(this).attr('value')] = $(this).attr('checked');
});
이것은 잘 작동하지만 Jquery에서 .push () 메서드로 똑같은 일을 할 수 있는지 궁금합니다.
나는 이와 같은 것을 시도했지만 작동하지 않습니다.
stuff.push( {$(this).attr('value'):$(this).attr('checked')} );
편집하다:
Object에서 .push () 메서드를 사용하려고했지만 .push ()는 실제로 Array Object의 메서드입니다.
어떤 식 으로든 jQuery와 관련이 없습니다.
리터럴 객체 를 정의하고 있습니다.
// Object
var stuff = {};
다음 과 같이 리터럴 배열을 정의 할 수 있습니다.
// Array
var stuff = [];
그때
stuff.push(element);
배열은 실제로 stuff[index]
부모 인 Object에서 상속 된 대괄호 구문을 얻습니다 . 이것이 첫 번째 예에서와 같은 방식으로 사용할 수있는 이유입니다.
이것은 속성에 동적으로 액세스하기 위해 쉽게 반영하는 데 자주 사용됩니다.
stuff = {}; // Object
stuff['prop'] = 'value'; // assign property of an
// Object via bracket syntax
stuff.prop === stuff['prop']; // true
그래서 쉽습니다))))
이것을보세요...
var stuff = {};
$('input[type=checkbox]').each(function(i, e) {
stuff[i] = e.checked;
});
그리고 당신은 :
Object {0: true, 1: false, 2: false, 3: false}
또는:
$('input[type=checkbox]').each(function(i, e) {
stuff['row'+i] = e.checked;
});
당신은 할 것:
Object {row0: true, row1: false, row2: false, row3: false}
또는:
$('input[type=checkbox]').each(function(i, e) {
stuff[e.className+i] = e.checked;
});
당신은 할 것:
Object {checkbox0: true, checkbox1: false, checkbox2: false, checkbox3: false}
stuff
객체이며 push
배열의 메서드입니다. 따라서 stuff.push(..)
.
stuff
배열 로 정의한 다음 그것에 메서드를 호출 할 수 있다고 가정 해 봅시다 .stuff = [];
push
이것은 객체 [키 / 값]이 잘 형성 되었기 때문에 작동합니다.
stuff.push( {'name':$(this).attr('checked')} );
개체가 제대로 형성되지 않았기 때문에 이것은 작동하지 않습니다.
stuff.push( {$(this).attr('value'):$(this).attr('checked')} );
이것은 우리가 stuff
연관 배열로 취급 하고 여기에 값을 추가 하기 때문에 작동 합니다.
stuff[$(this).attr('value')] = $(this).attr('checked');
이를 수행하는 또 다른 방법은 다음과 같습니다.
stuff = Object.assign(stuff, {$(this).attr('value'):$(this).attr('checked')});
여기에서 더 읽기 : Object.assign ()
This is really easy: Example
//my object
var sendData = {field1:value1, field2:value2};
//add element
sendData['field3'] = value3;
참고URL : https://stackoverflow.com/questions/7261431/adding-items-to-an-object-through-the-push-method
'IT박스' 카테고리의 다른 글
AUTO_INCREMENT를 기존 열에 추가하는 방법은 무엇입니까? (0) | 2020.11.24 |
---|---|
비정규 부동 소수점 숫자는 무엇입니까? (0) | 2020.11.24 |
Groovy-문자열을 비교하는 방법? (0) | 2020.11.23 |
사용자가 특정 요소로 스크롤 할 때 이벤트 트리거-jQuery 사용 (0) | 2020.11.23 |
피벗 테이블에 데이터를 첨부하는 동안 타임 스탬프가 업데이트되지 않습니다. (0) | 2020.11.23 |