Buscar

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