var params = {
search: {
make: "",
model: ""
}
}
function setVariable() {
var value = "BMW";
var key = "search.make";
var arr = key.split("."); //eg. ["search", "make"]
params[arr[0]][arr[1]] = value; // this works, but how do you
// do it with unknown arr[] length?
}
어떻게 알 수없는 arr[]
길이로 이것을 수행합니까?javascript의 객체 내에서 알 수없는 깊이의 속성 값을 설정하십시오.
나는 아마도 재귀 호출을 할 필요가 있다고 추측했다. 어쩌면 함수 내에서 arr.slice(1)
과 같은 것을 건네 주었지만, 나는 그 모습이 무엇인지 알 수 없었다.
'search '도 존재하지 않는다면? '{make : value} '객체를 만들고 그것을'params.search'에 할당하겠습니까? 아니면 기존 * 속성의 값만 설정할 수 있기를 원하십니까? –