JavaScript에서는 문자열 표현만 사용하여 객체의 깊게 중첩된 속성을 설정해야 하는 시나리오가 발생합니다. 예:
var obj = {}; var propName = "foo.bar.foobar";
obj.foo.bar.foobar 속성을 "hello world"로 설정하려면 다음 함수를 활용할 수 있습니다.
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; }
이 함수는 중첩된 속성 구조로 인해 누락된 개체가 생성됩니다. 마지막에 원하는 속성에 최종 값을 할당합니다.
사용:
assign(obj, propName, "hello world");
이 할당을 실행한 후 obj.foo.bar.foobar는 "hello world"로 설정됩니다. .
위 내용은 문자열 속성 이름을 사용하여 깊게 중첩된 JavaScript 개체에 값을 할당하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!