이것은 꽤 쉬워야하지만 여기서는 약간 혼란 스럽습니다. 나는이 객체 채우려 :배열과 같은 Jquery fill 객체
var obj = { 2:some1, 14:some2, three:some3, XX:some4, five:some5 };
을하지만, 처음에 나는이 있습니다
var obj = {};
미안하고하지만, 내가 푸시를 사용하고 추가하는 방법을 모르는위한 (), 작동하지 않습니다. 어떤 도움이 필요합니까?
이것은 꽤 쉬워야하지만 여기서는 약간 혼란 스럽습니다. 나는이 객체 채우려 :배열과 같은 Jquery fill 객체
var obj = { 2:some1, 14:some2, three:some3, XX:some4, five:some5 };
을하지만, 처음에 나는이 있습니다
var obj = {};
미안하고하지만, 내가 푸시를 사용하고 추가하는 방법을 모르는위한 (), 작동하지 않습니다. 어떤 도움이 필요합니까?
는 인덱스 대신 사용자 정의 키를 사용하기 때문에 당신은 자바 스크립트 객체로 .push()
을 할 수 없습니다 . 이 일을하는 방법은 다음과 같이 꽤 많이 있습니다 :
var obj = {};
for (var k = 0; k<10; k++) {
obj['customkey'+k] = 'some'+k;
}
이 반환 :
obj {
customkey0 : 'some0',
customkey1 : 'some1',
customkey2 : 'some2',
...
}
명심 배열 : { 0 : 'some1', 1 : 'some2' }
객체가 대체 어디 : ['some1','some2']
는 basicly 같은 및 개체입니다 STRING 키로 "인덱스"(0,1, 등). 희망이 도움이됩니다.
이것은 아주 좋은 양식입니다! 감사. – RicardoGonzales
push()
은 배열 용이지만 개체를 만듭니다.
당신은 몇 가지 방법으로 객체에 속성을 추가 할 수 있습니다
obj.one = some1;
또는
obj['one'] = some1;
나는이 같은 간단한 기능을 작성합니다 : 당신이 객체에 값을 추가 할 때 간단하게 호출 할 수 코드에서 다음
function pushVal(obj, value) {
var index = Object.size(obj);
//index is modified to be a string.
obj[index] = value;
}
을 :
for(var i=0; i<someArray.length; i++) {
pushVal(obj, someArray[i]);
}
을에 대한 정보를 들어 size 함수를 사용했습니다. here을 참조하십시오. 참고로, for 루프에서 인덱스를 사용할 수도 있지만,이 하나의 객체에 여러 배열을 추가하려는 경우 내 메소드는 충돌하는 인덱스를 방지합니다. 당신이 결정하는 방법을 잘 모르겠어요
function pushVal(obj, value, key) {
//index is modified to be a string.
obj[key] = value;
}
or
obj[key] = value;
: 개체를 만들기 위해, 질문의 예에서 키를 변경할 것을보고
편집
, 다음을 사용할 수 있습니다 귀하의 핵심 가치, 그래서 그 정보없이, 나는 개체를 다시 만들 솔루션을 작성할 수 없습니다 (즉, 그들은 임의로 나타납니다).
소리가 잘 들지만, 그 문제에 대해서는 "프로토 타입"으로 갈 수 있습니다. 같은 것 Object.prototype.pushVal = function (index, value) { this [index] = value; 이것을 반환하십시오. } 및 이동해야합니다 : var obj = {} obj.pushVal ('some1', 'some1 for some1'); "return this"은 다음과 같이 큐에 넣을 수 있는지 확인하기위한 것입니다 : obj.pushVal ('1', 'test'). pushVal ('2', 'another test') – Bene
간단히 프로토 타입을 피합니다. Object.prototype은 변경 사항에 민감하기 때문에 수정시 항상주의해야합니다. – Jlange
사실. 실제로이 문제는 문제가 있었지만 다른 해결책을 제시하는 것이 었습니다. – Bene
키 순서가 잘못되어 다른 이름 체계가 있습니까? – Jlange
예, 동일하지 않습니다 – RicardoGonzales