Prévia do material em texto
J.D.B. DIASOLUKA Nz. Luyalu - samedi 2 novembre 2019 (1:35 PM) L’objet « Set » & le « …Spread Operator » JAVASCRIPT (Programmation Internet) VOL. XXII Pour Débutant J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga +243 - 851278216 - 899508675 - 995624714 - 902263541 - 813572818 diasfb@mail2world.com « Set » est un objet qui ne retient qu’un seul exemplaire ou copie de chaque élément, en rejetant/supprimant automatiquement tout doublon, mais sans trier les éléments retenus. Par exemple, ci-dessous : <script> const A = [4,2,3,4,0,4,3,0,4,1,4,4,2,0,4,]; const S1 = new Set(A); const S2 = new Set([...A]); const S3 = [... new Set(A)]; const S4 = [... new Set([...A])]; console.log("Array de départ =" , A); console.log("S1 =" , S1); console.log("S2 =" , S2); console.log("S3 =" , S3); console.log("S4 =" , S4); </script> Notez ci-dessus que : 1. Le nombre d’éléments contenus dans un « Array » est accesible via « length », tandis qu’avec un « Set » c’est via « size ». 2. Le « …spread operator » éclate le “conteneur” et “libère“ les éléments de ce dernier. Sans le « …spread operator » l’intégrité de chaque objet (ici « Array ») est respectée, ils sont traités comme tel. L’objet « Set » permet donc de constituer une union de deux ou plusieurs « Arrays », en supprimant les doublons. Voici une « fusion » simple d’Arrays hors d’un objet « Set ». Notez encore l’effet du « …spread operator » : <script> var A1 = [1,0,5,4,1,0,0,4]; var A2 = [5,4,3,0,3,2,3]; console.log("Array original A1 =" , A1); console.log("Array original A2 =" , A2); console.log("=".repeat(15)); let fusion; fusion = [A1, A2]; console.log("Fusion de A1 & A2 = " , fusion); fusion = [...A1, ...A2]; console.log("Fusion de A1 & A2 = " , fusion); </script> Sans le « …spread operator » l’intégrité de chaque objet est préservée. Chaque objet est traité comme tel. Le « …spread operator » "éclate" chaque objet (ici Array) et libère les éléments de ce dernier. Le même code ci-dessus, mais avec l’objet « Set » : Au lieu d’une « fusion » (regroupement de tous les éléments), on aboutira à une « union » (mise en commun des éléments, en supprimant les doublons) : <script> "use strict"; var A1 = [1,0,5,4,1,0,0,4]; var A2 = [5,4,3,0,3,2,3]; console.log(A1); console.log(A2); console.log("=".repeat(15)); let union; union = [...new Set([...A1, ...A2])]; console.log("Union de A1 & A1 = " , union); union = [...new Set([A1, A2])]; console.log("Union de A1 & A2 = " , union); console.log("=".repeat(15)); union = new Set([...A1, ...A2]); console.log("Union de A1 & A2 = " , union); union = new Set([A1, A2]); console.log("Union de A1 & A2 = " , union); </script> Notez ci-dessus et ci-dessous que le « …Spread Operator » agit aussi sur les objets non « Array », ici sur l’objet « Set » : L’objet « Set » avec le « …Spread Operator », Les « Arrays » aussi avec le « …Spread Operator », L’objet « Set » avec le « …Spread Operator », Mais « Arrays » sans le « …Spread Operator », ils sont traités comme tels, en bloc (sans les détails) : L’objet « Set » sans le « …Spread Operator », Mais les « Arrays » avec le « …Spread Operator », L’objet « Set » sans le « …Spread Operator », Les « Arrays » aussi sans le « …Spread Operator ». Tous sont traités comme tels, en bloc (sans les détails) : Voyons ce qui se passe quand un des arrays ci-dessus est traité avec le « …Spread Operator », et l’autre non : - L’array sans le « …Spread Operator » est traité en bloc sans (détails masqués), - celui avec le « …Spread Operator » est éclaté (détaillé). <script> "use strict"; var A1 = [0,5,3,4,2,0,4]; var A2 = [5,4,3,0,3]; console.log(A1); console.log(A2); console.log("=".repeat(15)); let union; union = [...new Set([A1, ...A2])]; console.log("Union de A1 & A1 = " , union); union = [...new Set([...A1, A2])]; console.log("Union de A1 & A1 = " , union); union = new Set([A1, ...A2]); console.log("Union de A1 & A2 = " , union); union = new Set([...A1, A2]); console.log("Union de A1 & A2 = " , union); </script> Kinshasa, le samedi 2 novembre 2019 (1:35 PM) Mots-clés : Set, Spread Operator, JAVASCRIPT, Programmation Internet, objet, array, élément, doublon, new Set, length, size, intégrité, union, fusion, repeat, use strict DIASOLUKA Nz. Luyalu Docteur en Médecine, Chirurgie & Accouchements (1977), CNOM : 0866 - Spécialiste en ophtalmologie (1980) Études humanités : Scientifique - Mathématiques & Physique. Informaticien-amateur, Programmeur et WebMaster. Chercheur indépendant, autonome et autofinancé, bénévole, sans aucun conflit d’intérêt ou liens d'intérêts ou contrainte promotionnelle avec qui qu’il soit ou quelqu’organisme ou institution / organisation que ce soit, étatique, paraétatique ou privé, industriel ou commercial en relation avec le sujet présenté. +243 - 851278216 - 899508675 - 991239212 - 902263541 - 813572818 diasfb@mail2world.com Autre Lecture : https://www.scribd.com/document/374738470/Le-Plus-Grand-Secret-de-La-Creation D’autres publications pouvant aussi intéresser : https://www.academia.edu/39781606/Calcul_Automatique_de_la_Date_de_votre_Création_lOvulation_la_Fécondité_et_de_lAccouchement https://www.academia.edu/39700118/Quand_lordinateur_se_trompe_Quand_linformatique_dit_faux_ https://www.academia.edu/39672169/LES_DANGERS_DES_THERMOMÈTRES_NON-_CONTACT_À_INFRAROUGE_ https://www.academia.edu/38847663/Mieux_Analyser_et_Gérer_la_Tension_Artérielle_TA_Recherche_et_Meilleure_prise_en_charge https://www.academia.edu/38786226/FICHE_DANALYSE_DE_LA_VISION_DUN_MALADE https://www.academia.edu/38786152/Comprendre_Facilement_la_Notion_de_Dimensions_Multiples https://www.academia.edu/38785943/Importance_du_dépistage_des_insuffisances_visuelles https://www.academia.edu/38566762/Répartition_Automatique_des_Billets_de_Banque.docx https://www.academia.edu/38566238/ITÉRATEUR_DÉNUMÉRABLES_GÉNÉRATEUR_YIELD_ET_NEXT.docx https://www.academia.edu/38536715/OUTILS_DE_DÉVELOPPEMENT_DE_DIFFÉRENTS_BROWSERS.docx https://www.academia.edu/38536714/Gestions_de_paramètres_et_nom_de_fonctions_-_Javascript_tome_xxiii https://www.academia.edu/38536713/this_and_fonctions_-_javascript_tome_vi_-_PAS_PRET https://www.academia.edu/38536711/Les_fonctions_en_JavaScript-II https://www.academia.edu/38536710/Bref_Aperçu_sur_Les_Objets_en_JavaScript_-_Javascript_tome_vii https://www.academia.edu/38536709/Les_fonctions_en_JavaScript.docx https://www.academia.edu/38536708/jeu_de_couleurs_javascript https://www.academia.edu/38536707/Propriétés_d_objets_et_leurs_Attributs_et_Pseudo-Classes_-_JavaScript https://www.academia.edu/38536706/Quelques_Caractéristiques_du_MODE_STRICT_-_Javascript_tome_iii https://www.academia.edu/38536705/sets_and_weaksets_-_javascript https://www.academia.edu/38536704/RegExp_-_javascript_tome_x https://www.academia.edu/38536703/Paramètres_du_Reste_-_Javascript https://www.academia.edu/38536702/Couleurs_HTML_RGB_-_Javascript https://www.academia.edu/38536701/maps_and_weakmaps_-_javascript https://www.academia.edu/38536699/CLASSES_en_JavaScript_-_javascript_tome_iii https://www.academia.edu/38536698/Quelques_caractéristiques_du_Mode_Strict_-_javascript_tome_iii https://www.academia.edu/38536697/Prototype_en_JavaScript_-_javascript_tome_xvii https://www.academia.edu/38536696/Codes_de_programme_pour_Quelques_APPLICATIONS_PRATIQUES_de_JavaScript_-_javascript_tome_viii https://www.academia.edu/38536626/Le_Type_Number_-_javascript_tome_iii https://www.academia.edu/38536152/Petite_Introduction_aux_Pseudo-Elements_HTML https://www.academia.edu/38536151/Lacuité_visuelle_Angulaire https://www.academia.edu/38536150/SCRIPT_DANALYSES_DES_RÉFLEXES_PUPILLOMOTEURS.pdf https://www.academia.edu/38536149/IMC_selon_Dr_DIASOLUKA.docx https://www.academia.edu/38536148/Lacuité_visuelle_angulaire.docx https://www.academia.edu/38536147/Itérations_-_javascript_tome_iv https://www.academia.edu/38536146/nouveau_critere_de_performance_physique_en_fonction_de_lage.docxhttps://www.academia.edu/38536145/1er_postulat_du_Dr_Diasoluka.docx https://www.academia.edu/38536144/2e_postulat_du_Dr_Diasoluka.docx https://www.academia.edu/38536143/Programme_de_Conversion_des_Unités_des_Lunettes_III https://www.academia.edu/38536142/Aléas_des_Appareils_Médicaux_de_Mesures.docx https://www.academia.edu/38536141/Le_Laboratoire_Médical_nest_pas_laffaire_de_tous https://www.academia.edu/38536140/mode_demploi_-_Programme_d_equivalences_d_une_prescription_de_lunettes.pdf https://www.academia.edu/38536139/programme_de_conv_unités_lun.pdf https://www.academia.edu/38536138/Programme-III_déquivalences_dune_prescription_de_lunettes.pdf https://www.academia.edu/38536137/IMC_selon_Dr_DIASOLUKA.pdf https://www.academia.edu/38536136/acuite_visuelle_nvelle_convention_notationnelle_normalisee.ppt https://www.academia.edu/38536135/CoEnzyme_Q10_ou_CoQ10.docx https://www.academia.edu/38536134/Aléas_dun_Voyage_Habité_vers_la_Planète_Mars https://www.academia.edu/38536133/objet_Image.docx https://www.academia.edu/38536132/Nouvelle_Classification_du_Ptérygion.pptx https://www.academia.edu/38536131/la_vraie_nature_du_soleil.pdf https://www.academia.edu/38536130/model_macroscopique_dintrication_quantique https://www.academia.edu/38536129/LINTRICATION_QUANTIQUE_ENCORE_MIEUX_ILLUSTRÉE-issuu.pdf https://www.academia.edu/38536128/Fonctions_imbriquées_en_JavaScript_-_javascript_tome_vi https://www.academia.edu/38536127/la_vraie_nature_du_soleil-issuu.pdf https://www.academia.edu/38536126/Destructuration_and_paramètres_-_javascript_tome_xxi https://www.academia.edu/38536125/LES_EBEs_Extra-terrestres_ressemblent-ils_aux_humains https://www.academia.edu/38536123/Format_Représentation_interne_des_objets_JavaScript_-_javascript_tome_ix https://www.academia.edu/38536122/Lelement_anchor_en_JavaScript.docx https://www.academia.edu/38536121/this_dans_différents_contextes_-_javascript_tome_v https://www.academia.edu/38536120/Miscellaneous-Miscellanées_-_javascript_tome_viii https://www.academia.edu/38536119/Lobjet_syntaxError_-_javascript_tome_xiv_-_PAS_PRET.docx https://www.academia.edu/38536118/Date_Date_new_Date_et_new_Date_-_JavaScript https://www.academia.edu/38536117/La_CONSOLE_-_javascript_tome_xiv_-_PAS_PRET.docx https://www.academia.edu/38536116/Promises_en_JavaScript_-_javascript_tome_xxiii https://www.academia.edu/38536115/Objets_Math_et_Number_-_javascript_tome_viii https://www.academia.edu/38536114/javascript_tome_v.docx https://www.academia.edu/38536113/kilo_mega_giga_tera.xlsx https://www.academia.edu/38536112/Accessibilité_déléments_dArray_en_JavaScript_-_javascript_tome_xxii https://www.academia.edu/38536111/Catalogue_des_Propriétés_des_objets_Natifs_-_javascript_tome_xx https://www.academia.edu/38536110/Propriétés_de_HTMLElement_-_javascript_tome_xvi https://www.academia.edu/38536109/Littérales_de_chaîne_-_javascript https://www.academia.edu/38536108/RegExp_-_javascript_tome_x https://www.academia.edu/38536107/sets_and_weaksets_-_javascript https://www.academia.edu/38536106/Paramètres_du_reste_-_javascript https://www.academia.edu/38536105/Couleurs_html_RGB_-_javascript https://www.academia.edu/38536104/maps_and_weakmaps_-_javascript https://www.academia.edu/38536103/classes_-_javascript_tome_iii https://www.academia.edu/38536102/Quelques_applications_pratiques_de_JavaScript_-_javascript_tome_viii https://www.academia.edu/38536101/Prototype_en_JavaScript_-_javascript_tome_xvii https://www.academia.edu/38536100/OUTILS_DE_DÉVELOPPEMENT_DE_DIFFÉRENTS_BROWSERS.docx https://www.academia.edu/38536099/Gestions_de_paramètres_et_nom_de_fonctions_-_javascript_tome_xxiii https://www.academia.edu/38536098/petite_introduction_aux_fonctions_JavaScript-II.docx https://www.academia.edu/38536097/this_and_fonctions_-_javascript_tome_vi_-_PAS_PRET https://www.academia.edu/38536096/petite_introduction_aux_fonctions_JavaScript.docx https://www.academia.edu/38536095/Jeu_de_couleurs_-_javascript https://www.academia.edu/38536094/Bref_Aperçu_sur_Les_Objets_en_JavaScript_-_javascript_tome_vii https://www.academia.edu/38536093/Propriétés_d_objets_et_leurs_attributs_-_javascript_tome_xvi https://www.academia.edu/38536092/Associated_arrays_-_javascript https://www.academia.edu/38536091/Quelques_caractéristiques_du_mode_strict_-_javascript_tome_iii https://www.academia.edu/38536090/Lobjet_arraybuffer_-_javascript https://www.academia.edu/38536089/tests_conditionnels_-_javascript_tome_v https://www.academia.edu/38536088/Events_-_javascript_tome_viii https://www.academia.edu/38536087/Application_rgb_rgba_hsl_hsla_-_javascript https://www.academia.edu/38536086/Comment_utiliser_JavaScript_.docx https://www.academia.edu/38536085/Object.defineProperties_-_JavaScript https://www.academia.edu/38536084/Apply_bind_borrow_call_-_javascript_tome_iv https://www.academia.edu/38536083/Petite_Introduction_aux_LIENS_HTML-2 https://www.academia.edu/38536082/INPUTS_and_and_OUTPUTS_-_javascript_tome_xx https://www.academia.edu/38536081/FONCTIONS_ANONYMES_fanon_ https://www.academia.edu/38536080/CLOSURES_CURRYING_-_javascript_tome_xiii https://www.academia.edu/38536079/String_-_javascript_tome_xxii https://www.academia.edu/38536078/Les_strings_-_javascript https://www.academia.edu/38536077/Arrays_en_JavaScript_-_javascript_tome_xv https://www.academia.edu/38536076/Différents_types_dArrays_-_javascript https://www.academia.edu/38536075/ITÉRATEUR_DÉNUMÉRABLES_GÉNÉRATEUR_YIELD_ET_NEXT.docx https://www.academia.edu/38536074/Lélément_SELECT_en_HTML_XHTML_DOM_JavaScript https://www.academia.edu/38536073/Get_Set_Getter_and_Setter_en_JavaScript.docx https://www.academia.edu/38536072/Le_type_Number_-_javascript_tome_iii https://www.academia.edu/38536070/javascript_and_algorithmique_3_.docx https://www.academia.edu/38536068/Le_Type_Primitif_Symbol_-_javascript_tome_viii https://www.academia.edu/38536066/Petite_Introduction_à_HTML_-_I https://www.academia.edu/38536065/Création_dobjet_dans_lespace_globale_Window_-_javascript_tome_viii https://www.academia.edu/37815644/Nouvelle_Classification_du_Pterygion https://www.academia.edu/39781647/Calcul_de_la_Date_de_lOvulation https://www.academia.edu/26131680/Incongruences_Hérésies_et_Hétérodoxies_de_la_Notion_de_Laboratoire https://www.academia.edu/26130044/RAPPORT_ENTRE_OXYMÉTRIE_ET_TYPE_RESPIRATION https://www.academia.edu/37815660/acuite_visuelle_nvelle_convention_notationnelle_normalisee https://www.academia.edu/37815613/medicaments_plus_nocifs_quutiles https://www.academia.edu/39700864/Les_objets_Proxy_et_Reflect_JAVASCRIPT https://www.academia.edu/39700336/Quand_lordinateur_se_trompe_Quand_linformatique_ne_dit_pas_vrai_ https://www.academia.edu/39672297/DANGERS_and_RISQUES_DES_THERMOMÈTRES_NON-CONTACT_à_INFRAROUGE_ https://www.academia.edu/39672133/LE_DOSAGE_DES_MÉDICAMENTS_AVEC_DES_CUILLERS_EST_HASARDEUX https://www.academia.edu/39671602/Pelvimétrie_-_ÉVALUATION_DU_RISQUE_DE_LACCOUCHEMENT_DYSTOCIE_OSSEUSE_ https://www.academia.edu/39637192/Anomalies_de_la_Vision_Des_Couleurs_Avez-vous_un_Problème_de_la_Perception_des_Couleurs https://www.academia.edu/39636203/Simulateur_Logiciel_de_LAnomaloscope_de_Nagel https://www.academia.edu/39514787/Some_Constraints_Of_Progressive_Lenses_Optométrie https://www.academia.edu/39329775/Code_de_programme_pour_multiplier_deux_nombres_entiers https://www.academia.edu/39265617/spectral_sensitivity_of_the_human_eye https://www.academia.edu/39263331/Vision_Des_Couleurs_Vision_colorée_Avez-vous_un_Problème_de_la_Perception_des_Couleurs https://www.academia.edu/39043806/Les_Propriétés_innerText_-innerHTML_-outerHTML_-textContent_JAVASCRIPT_Programmation_Internet_VOL._XXIV https://www.academia.edu/39036138/Logiciel_de_Scrutin_remplaçant_la_machine_à_voter https://www.academia.edu/39019044/Utilitaire_javascript_des_RDVs_et_autres_délais_version_6.0 https://www.academia.edu/39000281/Code_calculant_automatiquement_les_paramètres_cruciaux_de_la_TA_MPM_PAM_PAM2_dPAM https://www.academia.edu/38980659/Appli_pour_fixer_automatiquement_les_RDVs_et_autres_délais_version_3 https://www.academia.edu/38971497/Une_Conséquence_fâcheuse_des_lentilles_de_Contact_Verres_de_Contact_https://www.academia.edu/38961397/Code_de_programme_pour_vérifier_la_deuxième_méthode_de_multiplication_de_deux_nombres_entiers https://www.academia.edu/38882972/Lultime_révélation_sur_la_Création_Croissance_Biologique_des_Chiffres https://www.academia.edu/38881707/Encore_Une_autre_méthode_de_multiplication https://www.academia.edu/38566676/Les_objets_Object_et_Reflect_-_javascript_tome_viii https://www.academia.edu/38536071/OPÉRATEURS_D_ÉGALITÉ_-_javascript_tome_xi https://www.academia.edu/38536069/Variables_Functions_et_Nouveautés_en_JavaScript_-_JavaScript_tome_ii https://www.academia.edu/38536064/Lobjet_global_window_-_javascript_tome_vii https://www.academia.edu/39516235/Dieu_est_le_chef_de_christ https://www.academia.edu/39516056/À_Combien_Pourrait-on_Vendre_lUnivers_Entier_ https://www.academia.edu/39515968/Limportance_biblique_du_manger https://www.academia.edu/39407150/La_Sainte_Bible_nest_quun_recueil_de_lessentiel_à_connaître https://www.academia.edu/38536067/Incongruences_Hérésies_et_Hétérodoxies_des_Laboratoires_Médicaux https://www.academia.edu/39906187/Une_autre_façon_danalyser_la_T.A._avec_la_Systolique_et_la_Diastolique_Cardio-Vasculaire https://www.academia.edu/39873996/Code_de_programme_pour_détecter_Association_médicamenteuse_cumulative https://www.academia.edu/39872528/LE_SYSTÈME_DE_GOUVERNANCE_QUI_CONVIENDRAIT_LE_MIEUX_POUR_LA_RÉPUBLIQUE_DÉMOCRATIQUE_DU_CONGO_États_Autonomes_Solidaires_Unifiés_ L’objet « Set » & le « …Spread Operator » - JavaScript Tome-XXII - 2/76 - image4.png image5.png image6.png image7.png image8.png image9.png image10.png image11.png image12.png image13.png image14.png image15.png image16.png image17.png image1.png image2.png image3.png