2012-02-02 2 views
1

backbone.js의 model.set() 함수를 참조하십시오. 키 값을 하드 코딩하지 않고 변수로 제공 할 수있는 방법이 있습니까? 소품 변수로 키를 설정 아래에있는 내 코드에서 backbone.js의 변수로 사용되는 키 model.set()

는 말 그대로 실제로 소품 변수에 저장된 값으로 키의 이름이 필요합니다 반면 "소품"로 키의 이름을 설정합니다.

var filters = new Filters(); 

for (var pair in facetsCollection) { 
    for (var prop in facetsCollection[pair]) { 
     filters.set({prop: (facetsCollection[pair])[prop]); 
    } 
} 
+1

가능한 중복 http://stackoverflow.com/questions/6071471/javascript-object-variable-key) – zzzzBov

+0

당신이 사용하는 lib는 중요하지 않습니다. JavaScript는 JavaScript입니다. 대괄호 표기법을 사용하여 특성을 설정하십시오. – zzzzBov

+0

내가 참조한 스레드를 보았지만 그 구현은 달성하려는 것과 약간 차이가있는 것으로 보입니다. 변수 prop에는 문자열 이름이 있으며 키 값이 필요합니다. 이 메서드는 다음 형식을 따릅니다. filters.set ({key : value}); – kaspnord

답변

4

이처럼 쉽게 작업을 수행 할 수 있습니다

var filters = new Filters(); 

// building of an options hash 
var options = {} 
for (var pair in facetsCollection) { 
    for (var prop in facetsCollection[pair]) { 
     options[prop] = (facetsCollection[pair])[prop]; 
    } 
} 

// setting the options all at once instead of 1 at a time in the for loops 
filters.set(options); 
[자바 스크립트 객체 변수 키] (의
+1

명확한 설명 주셔서 감사합니다! – kaspnord