English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Explicação detalhada da método de combinação de valores do Object no JavaScript

Introdução:No trabalho diário de desenvolvimento, podemos encontrar o problema de cópia de todos os valores de um objeto em JavaScript, ou pode ser um problema de combinação de configurações ao desenvolver o cliente usando electron, ao modificar. Este artigo fará uma breve descrição da solução.

Introdução: Por exemplo, temos obj1, obj2Precisamos copiar o obj1Todos os campos que se relacionam com o obj2Deve copiar os valores dos campos idênticos da mesma profundidade do obj2E precisamos manter o obj2A estrutura do campo permanece inalterada, chame este método (usando ES6Escrita).

Código:

/**
     * Copiar os dados do src para o dist, mantendo a estrutura do 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]
          // Verificar se é um objeto, se for, continue a percorrer, se não, comece a atribuir ou ignorar
          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)){
            // Se os dados de origem existem e o tipo é consistente, comece a atribuir
            dist[key] = src[key]
          }
        }
      }
    ,

Isso é tudo o que há no artigo, esperamos que ajude no seu aprendizado e que você apoie o tutorial Yell.

Declaração: O conteúdo deste artigo é extraído da Internet, pertence ao respectivo proprietário, foi contribuído e carregado voluntariamente pelos usuários da Internet, o site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade legal relevante. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas relevantes. Apenas após a verificação, o site deletará o conteúdo suspeito de violação de direitos autorais.)

Você também pode gostar