>웹 프론트엔드 >JS 튜토리얼 >중첩된 JavaScript 개체의 속성을 동적으로 설정하는 방법은 무엇입니까?

중첩된 JavaScript 개체의 속성을 동적으로 설정하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-31 08:16:29356검색

How to Dynamically Set Properties in Nested JavaScript Objects?

중첩 개체의 동적 속성 할당

중첩 개체 속성 설정은 특히 속성 경로와 값의 깊이와 유형이 다를 수 있는 경우 프로그래밍 방식으로 복잡한 작업이 될 수 있습니다. 이 프로세스를 단순화하기 위해 객체 내에서 속성을 동적으로 탐색하고 설정하는 함수를 만들 수 있습니다.

함수 구현

<code class="javascript">function set(path, value) {
    var schema = obj; // Moving reference to internal objects within obj
    var pList = path.split('.');
    var len = pList.length;

    for (var i = 0; i < len - 1; i++) {
        var elem = pList[i];
        if (!schema[elem]) schema[elem] = {};
        schema = schema[elem];
    }

    schema[pList[len - 1]] = value;
}</code>

사용 예

다음 중첩 객체를 고려하세요. :

<code class="javascript">var obj = {
    db: {
        mongodb: {
            host: 'localhost'
        }
    }
};</code>

특정 경로에 속성을 설정하려면 set() 함수를 사용할 수 있습니다.

<code class="javascript">set('db.mongodb.user', 'root');</code>

결과

set() 함수 적용 예제 객체는 다음을 생성합니다:

<code class="javascript">obj = {
    db: {
        mongodb: {
            host: 'localhost',
            user: 'root'
        }
    }
};</code>

위 내용은 중첩된 JavaScript 개체의 속성을 동적으로 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.