이것은 내 물건입니다.
var example = {"119":{"bannerId":"119","overlay":"3","type":"1",...},"210":{"bannerId":"210","overlay":"3","type":"1",...},...}
이런 식으로 객체에 매우 쉽게 액세스하거나 수정할 수 있습니다. 예를 들어 새 속성을 추가하려면 다음과 같이 호출하면됩니다.
example[119].newProperty = 1;
그리고 매우 쉽게 액세스 할 수 있습니다.
alert(example[119].newProperty)
alert(example[210].type)
배너 ID를 알면 모든 코드 범위의 데이터에 액세스 할 수 있습니다. 이것이 제가이 패턴을 선택한 이유입니다. 문제는 example
생성 된 후 내부에 새 개체를 추가해야한다는 것 입니다. 예를 들어 다음과 같이 푸시해야합니다. { "30": { "bannerId": "119", "overlay": "3", "type": "1", ...}}
그리고 이것이 가능한지 모르겠습니다. 맞나요? 이 문제를 해결하는 한 가지 방법은 배열을 사용하는 것이므로 예제는 배열이고 각 키는 객체를 전달하며 객체와 함께 새 키를 배열로 푸시 할 수 있습니다. 하지만 키가 200, 300, ...로 시작하기 때문에 이것이 적절한 방법인지 확실하지 않습니다. console.log (example)는 200 이전의 모든 키에 대해 undefined를 표시합니다. 빈 키가 너무 많아도 괜찮습니까? 다른 더 좋은 방법이 있습니까?
편집하다:
나는 이것이 객체로도 할 수 있음을 깨달았습니다. 문제는 다음과 같이 새 속성을 새 개체에 직접 할당하려고했기 때문입니다.
example[200].example3 = 2;
예제 객체가 생성되는 것으로 충분하다고 생각합니다. 내가 놓친 것은 다음 줄입니다.
example[200] = {}
답변 해 주셔서 감사합니다. 이제 작동합니다!
var example = {};
example["30"] = {"bannerId":"119","overlay":"3","type":"1"}
console.log(example);
루프 내부에 있다면 아래와 같이 시도해 볼 수도 있습니다.
var i = 0;
var example = {};
for (i=0; i<10; i++) {
example[i] = {bannerId : i+1 , someOtherItem : i + "Hello"}
}
console.log(example);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다