JavaScript의 동적 속성 할당
특정 시나리오에서는 객체 내에 깊게 중첩된 속성에 값을 할당해야 할 수도 있습니다. 구조. 그러나 속성 이름은 문자열로만 가질 수 있습니다. 속성에 직접 액세스하려면 전체 개체 계층 구조를 순회해야 하므로 이는 문제가 될 수 있습니다.
해결책
이 문제를 해결하려면 할당()을 활용할 수 있습니다. 기능:
function assign(obj, prop, value) { if (typeof prop === "string") prop = prop.split("."); if (prop.length > 1) { var e = prop.shift(); assign(obj[e] = Object.prototype.toString.call(obj[e]) === "[object Object]" ? obj[e] : {}, prop, value); } else obj[prop[0]] = value; }
사용법
예를 살펴보겠습니다.
var obj = {}; var propName = "foo.bar.foobar"; assign(obj, propName, "Value");
설명
Assign() 함수를 활용하면 속성 이름이 문자열로만 있는 경우에도 모든 수준의 속성에 동적으로 값을 할당할 수 있습니다.
위 내용은 문자열 속성 이름만 사용하여 깊게 중첩된 JavaScript 개체에 값을 동적으로 할당하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!