Maison  >  Article  >  interface Web  >  À propos de la fusion des valeurs d'objet en JavaScript

À propos de la fusion des valeurs d'objet en JavaScript

亚连
亚连original
2018-06-19 09:48:201511parcourir

Cet article présente principalement en détail la méthode de fusion de valeurs d'objet en JavaScript, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Avant-propos : Dans la vie quotidienne Pendant les travaux de développement, nous pouvons rencontrer la copie de toutes les valeurs​​dans les objets en js, ou nous pouvons développer le client via electronic et faire face au problème de la fusion des paramètres lors de la révision. 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]
          }
        })
      }

    },

Ce qui précède est ce que j'ai compilé pour vous. J'espère que cela vous sera utile à l'avenir.

Articles connexes :

Comment implémenter une calculatrice à l'aide de JavaScript

Comment implémenter le filtrage de tableaux à l'aide d'Angular

À propos de la façon dont Vue.js implémente le chargement par défilement infini

Chrome Firefox est livré avec des outils de débogage (tutoriel détaillé)

Comment utiliser la fonction de requête Write Ajax dans JS

Comment créer vue en utilisant vue-cli+webpack

Comment contrôler plusieurs barres de défilement pour faire défiler de manière synchrone en utilisant JS

Framework Webpack (technologie de base principale)

Comment utiliser webpack+express pour réaliser le développement de sites multipages

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