English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Introducción:En el trabajo de desarrollo diario, podríamos encontrarnos con la tarea de copiar todos los valores de un objeto en JavaScript, o también podríamos enfrentar problemas de combinación de configuraciones cuando desarrollamos clientes a través de Electron en la revisión. Este artículo proporcionará una breve descripción de la solución.
Introducción: por ejemplo, hay obj1, obj2Necesitamos copiar obj1de los valores que coinciden con obj2copia todos los valores del campo del mismo nivel en obj2y debe mantenerse obj2La estructura del campo no cambia, llame al método correspondiente (usando ES6Escriba aquí).
Código:
/** * Copie los datos de src a dist, manteniendo la estructura de 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] // Determinar si es un objeto, si lo es, continuar el recorrido, de lo contrario comenzar a asignar o 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)){ // Si los datos de origen existen y son del mismo tipo, se comenzará a asignar dist[key] = src[key] } } } }
Este es el contenido completo del artículo. Esperamos que sea útil para su aprendizaje y que apoyen activamente el tutorial de alarido.
Declaración: el contenido de este artículo se ha obtenido de la red, y pertenece al autor original. El contenido se contribuye y sube de manera autónoma por los usuarios de Internet. Este sitio no posee los derechos de propiedad, no se ha editado artificialmente y no asume ninguna responsabilidad legal. Si encuentra contenido sospechoso de infracción de derechos de autor, le invitamos a enviar un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar y proporcionar evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.