Maison >interface Web >js tutoriel >Explication détaillée sur la méthode de fusion de valeurs d'objet en JavaScript
Cet article présente principalement en détail la méthode de fusion des valeurs d'objet en JavaScript. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer. J'espère que cela pourra aider tout le monde.
Avant-propos : Dans le travail de développement quotidien, nous pouvons rencontrer la copie de toutes les valeursdans des objets en js, ou nous pouvons développer des clients via électronique et faire face à la fusion de paramètres lors de la révision de la question. Cet article donnera donc une brève solution à ce problème.
Introduction : Par exemple, s'il y a obj1 et obj2, nous devons copier toutes les valeurs dans obj1 avec le même champ et la même profondeur dans obj2 vers obj2, et nous devons conserver la structure du champ d'obj2 inchangé. Appelez simplement la méthode (en utilisant la méthode d'écriture ES6).
Code :
/** * 将src中的数据copy到dist中,并保留dist的结构 * @param src * @param dist */ copyValue(src, dist) { if (!src || typeof(src) !== 'object' || typeof(dist) !== 'object'){ return ; } let keys = Object.keys(dist) if (keys && keys.length > 0 && isNaN(keys[0])){ keys.forEach(key => { let value = dist[key] let srcVal = src[key] // 判断是不是对象,如果是则继续遍历,不是则开始赋值或忽略 if (value !== undefined && typeof(value) === 'object' && srcVal && typeof(srcVal) === 'object' && srcVal[0] === undefined){ copyValue(srcVal, value) } else if (value !== undefined && srcVal && typeof(value) == typeof (srcVal)){ // 如果源数据存在,并且类型一致,则开始赋值 dist[key] = src[key] } }) } },
Recommandations associées :
Explication détaillée de l'utilisation de deux méthodes en régulier et en objet en Java
Explication détaillée des exemples d'utilisation de la méthode statique object.extend en Javascript
Interprétation des attributs Object et param en html
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!