La définition des propriétés des objets imbriqués peut être une tâche complexe du point de vue du programme, en particulier lorsque le chemin et la valeur de la propriété peuvent varier en profondeur et en type. Pour simplifier ce processus, nous pouvons créer une fonction qui parcourt et définit dynamiquement les propriétés au sein d'un objet.
<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>
Considérez l'objet imbriqué suivant :
<code class="javascript">var obj = { db: { mongodb: { host: 'localhost' } } };</code>
Pour définir une propriété sur un chemin spécifique, nous pouvons utiliser la fonction set() :
<code class="javascript">set('db.mongodb.user', 'root');</code>
Application de la fonction set() à l'exemple d'objet produirait :
<code class="javascript">obj = { db: { mongodb: { host: 'localhost', user: 'root' } } };</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!