Maison >interface Web >js tutoriel >Comment fusionner les valeurs d'un objet JS

Comment fusionner les valeurs d'un objet JS

php中世界最好的语言
php中世界最好的语言original
2018-04-14 09:14:372411parcourir

Cette fois, je vais vous montrer comment fusionner les valeurs Objet de JS, et quelles sont les précautions pour fusionner les valeurs d'Objet de JS Voici un cas pratique, jetons un coup d'oeil.

Préface : Dans le travail de développement quotidien, nous pouvons rencontrer la copie de toutes les valeurs​​dans l'objet en js, ou nous pouvons développer clients via électronique D'un autre côté, nous avons été confrontés 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 garder la structure de champ d'obj2 inchangée, 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]
          }
        })
      }
    },

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP !

Lecture recommandée :

Explication détaillée de l'utilisation des pseudo-tableaux JS

Comment JS détermine-t-il le type de client

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