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