Maison  >  Article  >  interface Web  >  Explication détaillée sur la méthode de fusion de valeurs d'objet en JavaScript

Explication détaillée sur la méthode de fusion de valeurs d'objet en JavaScript

小云云
小云云original
2017-12-23 14:32:461362parcourir

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 valeurs​​dans 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn