English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Préambule :Dans les travaux de développement quotidien, nous pourrions rencontrer le problème de copie de toutes les valeurs des objets JavaScript, ou peut-être être confrontés à des problèmes de fusion des paramètres lors de la modification de l'application développée avec Electron. Alors cet article présente une solution succincte.
Présentation : par exemple, il y a obj1, obj2Nous devons copier obj1Toutes les valeurs qui concernent obj2Copier les valeurs des champs identiques à la même profondeur dans obj2Et il faut maintenir que obj2La structure des champs reste inchangée, appeler simplement cette méthode (en utilisant ES6Écriture ).
Code :
/** * Copie les données de src vers dist tout en conservant la structure 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] // Déterminer si c'est un objet, si oui, continuer à parcourir, sinon commencer à affecter ou ignorer 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 les données source existent et que le type est cohérent, commencer à affecter dist[key] = src[key] } } } },
Voici la totalité du contenu de cet article, j'espère qu'il vous aidera dans vos études, et j'espère aussi que vous soutiendrez fortement le tutoriel criant.
Déclaration : le contenu de cet article est extrait du réseau, la propriété intellectuelle appartient à ses auteurs respectifs, le contenu est apporté par les utilisateurs d'Internet de manière volontaire et auto-postée, ce site n'appartient pas à la propriété intellectuelle, n'a pas été traité par l'éditeur humain et n'assume aucune responsabilité juridique connexe. Si vous trouvez du contenu suspect de violation de droits d'auteur, veuillez envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois vérifié, ce site supprimera immédiatement le contenu suspect de violation de droits d'auteur.