English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Premessa:Nel lavoro di sviluppo quotidiano, potremmo incontrare la copia di tutti i valori degli oggetti in JavaScript, o potrebbe essere un problema di fusione delle impostazioni durante la revisione di un'applicazione sviluppata con Electron. Questo articolo fornirà una breve descrizione della soluzione.
Introduzione: ad esempio, se abbiamo obj1, obj2, dobbiamo copiare tutti i valori con la stessa profondità dei campi in obj1 a obj2, mantenendo invariata la struttura dei campi di obj2. Basta chiamare questo metodo (scritto in stile ES6).
Codice:
/** * Copia i dati da src a dist, mantenendo la struttura di 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] // Verifica se è un oggetto, se lo è continua a esplorare, se non lo è inizia l'assegnazione o ignora 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 i dati di origine esistono e il tipo è consistente, inizia l'assegnazione dist[key] = src[key] } ) } },
Questo è tutto il contenuto dell'articolo, speriamo che sia utile per il tuo studio e che tu sostenga fortemente la guida a urla.
Dichiarazione: il contenuto di questo articolo è stato raccolto da Internet, di proprietà del rispettivo autore. Il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, il sito web non detiene i diritti di proprietà, non ha sottoposto il contenuto a editing umano e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, invia un'email a notice#oldtoolbag.com (sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, il sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.