[{"data":1,"prerenderedAt":1265},["ShallowReactive",2],{"page-\u002Fjs\u002Ftableaux-et-objets":3,"pieces-js":1222,"autour-\u002Fjs\u002Ftableaux-et-objets":1247,"prerequis-\u002Fjs\u002Ftableaux-et-objets":1252,"plan-js":1254},{"id":4,"title":5,"body":6,"description":1195,"extension":1196,"ligne":62,"meta":1197,"motsCles":1198,"navigation":108,"niveau":1200,"path":1201,"prerequis":1202,"ressources":1204,"seo":1216,"sources":1217,"stem":1220,"__hash__":1221},"docs\u002Fjs\u002F04.tableaux-et-objets.md","Tableaux et objets",{"type":7,"value":8,"toc":1182},"minimark",[9,14,40,44,57,188,196,200,210,313,316,323,404,408,413,460,463,467,475,529,533,542,590,652,659,676,680,687,780,783,843,847,858,950,960,966,970,986,1041,1052,1056,1063,1127,1130,1134,1178],[10,11,13],"h2",{"id":12},"ce-que-tu-vas-apprendre","Ce que tu vas apprendre",[15,16,17,21,37],"ul",{},[18,19,20],"li",{},"Créer et lire des tableaux et des objets.",[18,22,23,24,28,29,32,33,36],{},"Transformer une liste avec ",[25,26,27],"code",{},"map",", ",[25,30,31],{},"filter"," et ",[25,34,35],{},"find",".",[18,38,39],{},"Utiliser la déstructuration et le spread pour écrire moins de code.",[10,41,43],{"id":42},"les-tableaux","Les tableaux",[45,46,47,48,52,53,56],"p",{},"Un ",[49,50,51],"strong",{},"tableau"," est une liste ordonnée de valeurs, écrite entre crochets. Chaque valeur a une position, appelée ",[49,54,55],{},"indice",", qui commence à 0.",[58,59,64],"pre",{"className":60,"code":61,"language":62,"meta":63,"style":63},"language-js shiki shiki-themes github-light-default github-dark-default github-dark-default","const ingredients = ['farine', 'oeufs', 'lait']\n\nconsole.log(ingredients[0])       \u002F\u002F \"farine\"\nconsole.log(ingredients.length)   \u002F\u002F 3\n\ningredients.push('sucre')\nconsole.log(ingredients)          \u002F\u002F [\"farine\", \"oeufs\", \"lait\", \"sucre\"]\n","js","",[25,65,66,103,110,133,152,157,175],{"__ignoreMap":63},[67,68,71,75,79,82,86,90,92,95,97,100],"span",{"class":69,"line":70},"line",1,[67,72,74],{"class":73},"sOnC1","const",[67,76,78],{"class":77},"s5iOY"," ingredients",[67,80,81],{"class":73}," =",[67,83,85],{"class":84},"scfrF"," [",[67,87,89],{"class":88},"shWOn","'farine'",[67,91,28],{"class":84},[67,93,94],{"class":88},"'oeufs'",[67,96,28],{"class":84},[67,98,99],{"class":88},"'lait'",[67,101,102],{"class":84},"]\n",[67,104,106],{"class":69,"line":105},2,[67,107,109],{"emptyLinePlaceholder":108},true,"\n",[67,111,113,116,120,123,126,129],{"class":69,"line":112},3,[67,114,115],{"class":84},"console.",[67,117,119],{"class":118},"syCW7","log",[67,121,122],{"class":84},"(ingredients[",[67,124,125],{"class":77},"0",[67,127,128],{"class":84},"])       ",[67,130,132],{"class":131},"sd6ml","\u002F\u002F \"farine\"\n",[67,134,136,138,140,143,146,149],{"class":69,"line":135},4,[67,137,115],{"class":84},[67,139,119],{"class":118},[67,141,142],{"class":84},"(ingredients.",[67,144,145],{"class":77},"length",[67,147,148],{"class":84},")   ",[67,150,151],{"class":131},"\u002F\u002F 3\n",[67,153,155],{"class":69,"line":154},5,[67,156,109],{"emptyLinePlaceholder":108},[67,158,160,163,166,169,172],{"class":69,"line":159},6,[67,161,162],{"class":84},"ingredients.",[67,164,165],{"class":118},"push",[67,167,168],{"class":84},"(",[67,170,171],{"class":88},"'sucre'",[67,173,174],{"class":84},")\n",[67,176,178,180,182,185],{"class":69,"line":177},7,[67,179,115],{"class":84},[67,181,119],{"class":118},[67,183,184],{"class":84},"(ingredients)          ",[67,186,187],{"class":131},"\u002F\u002F [\"farine\", \"oeufs\", \"lait\", \"sucre\"]\n",[45,189,190,192,193,195],{},[25,191,165],{}," ajoute à la fin. Un tableau déclaré avec ",[25,194,74],{}," peut être modifié : seule la réaffectation de la variable est interdite.",[10,197,199],{"id":198},"les-objets","Les objets",[45,201,47,202,205,206,209],{},[49,203,204],{},"objet"," regroupe des valeurs sous des noms, les ",[49,207,208],{},"propriétés",". Il est écrit entre accolades.",[58,211,213],{"className":60,"code":212,"language":62,"meta":63,"style":63},"const recette = {\n  titre: 'Crêpes',\n  minutes: 20,\n  vegetarien: true\n}\n\nconsole.log(recette.titre)       \u002F\u002F \"Crêpes\"\nconsole.log(recette['minutes'])  \u002F\u002F 20\n\nrecette.minutes = 25\n",[25,214,215,227,238,248,256,261,265,277,296,301],{"__ignoreMap":63},[67,216,217,219,222,224],{"class":69,"line":70},[67,218,74],{"class":73},[67,220,221],{"class":77}," recette",[67,223,81],{"class":73},[67,225,226],{"class":84}," {\n",[67,228,229,232,235],{"class":69,"line":105},[67,230,231],{"class":84},"  titre: ",[67,233,234],{"class":88},"'Crêpes'",[67,236,237],{"class":84},",\n",[67,239,240,243,246],{"class":69,"line":112},[67,241,242],{"class":84},"  minutes: ",[67,244,245],{"class":77},"20",[67,247,237],{"class":84},[67,249,250,253],{"class":69,"line":135},[67,251,252],{"class":84},"  vegetarien: ",[67,254,255],{"class":77},"true\n",[67,257,258],{"class":69,"line":154},[67,259,260],{"class":84},"}\n",[67,262,263],{"class":69,"line":159},[67,264,109],{"emptyLinePlaceholder":108},[67,266,267,269,271,274],{"class":69,"line":177},[67,268,115],{"class":84},[67,270,119],{"class":118},[67,272,273],{"class":84},"(recette.titre)       ",[67,275,276],{"class":131},"\u002F\u002F \"Crêpes\"\n",[67,278,280,282,284,287,290,293],{"class":69,"line":279},8,[67,281,115],{"class":84},[67,283,119],{"class":118},[67,285,286],{"class":84},"(recette[",[67,288,289],{"class":88},"'minutes'",[67,291,292],{"class":84},"])  ",[67,294,295],{"class":131},"\u002F\u002F 20\n",[67,297,299],{"class":69,"line":298},9,[67,300,109],{"emptyLinePlaceholder":108},[67,302,304,307,310],{"class":69,"line":303},10,[67,305,306],{"class":84},"recette.minutes ",[67,308,309],{"class":73},"=",[67,311,312],{"class":77}," 25\n",[45,314,315],{},"Le point est la lecture habituelle. Les crochets servent quand le nom est dans une variable.",[45,317,318,319,322],{},"Un objet peut contenir une fonction, qu'on appelle alors une ",[49,320,321],{},"méthode",". Un tableau d'objets est la forme la plus courante pour décrire une liste de recettes.",[58,324,326],{"className":60,"code":325,"language":62,"meta":63,"style":63},"const recettes = [\n  { id: 1, titre: 'Crêpes', minutes: 20 },\n  { id: 2, titre: 'Ratatouille', minutes: 60 },\n  { id: 3, titre: 'Salade', minutes: 10 }\n]\n",[25,327,328,340,361,380,400],{"__ignoreMap":63},[67,329,330,332,335,337],{"class":69,"line":70},[67,331,74],{"class":73},[67,333,334],{"class":77}," recettes",[67,336,81],{"class":73},[67,338,339],{"class":84}," [\n",[67,341,342,345,348,351,353,356,358],{"class":69,"line":105},[67,343,344],{"class":84},"  { id: ",[67,346,347],{"class":77},"1",[67,349,350],{"class":84},", titre: ",[67,352,234],{"class":88},[67,354,355],{"class":84},", minutes: ",[67,357,245],{"class":77},[67,359,360],{"class":84}," },\n",[67,362,363,365,368,370,373,375,378],{"class":69,"line":112},[67,364,344],{"class":84},[67,366,367],{"class":77},"2",[67,369,350],{"class":84},[67,371,372],{"class":88},"'Ratatouille'",[67,374,355],{"class":84},[67,376,377],{"class":77},"60",[67,379,360],{"class":84},[67,381,382,384,387,389,392,394,397],{"class":69,"line":135},[67,383,344],{"class":84},[67,385,386],{"class":77},"3",[67,388,350],{"class":84},[67,390,391],{"class":88},"'Salade'",[67,393,355],{"class":84},[67,395,396],{"class":77},"10",[67,398,399],{"class":84}," }\n",[67,401,402],{"class":69,"line":154},[67,403,102],{"class":84},[10,405,407],{"id":406},"map-transformer-chaque-élément","map : transformer chaque élément",[45,409,410,412],{},[25,411,27],{}," applique une fonction à chaque élément et renvoie un nouveau tableau de même taille.",[58,414,416],{"className":60,"code":415,"language":62,"meta":63,"style":63},"const titres = recettes.map((recette) => recette.titre)\nconsole.log(titres)  \u002F\u002F [\"Crêpes\", \"Ratatouille\", \"Salade\"]\n",[25,417,418,448],{"__ignoreMap":63},[67,419,420,422,425,427,430,432,435,439,442,445],{"class":69,"line":70},[67,421,74],{"class":73},[67,423,424],{"class":77}," titres",[67,426,81],{"class":73},[67,428,429],{"class":84}," recettes.",[67,431,27],{"class":118},[67,433,434],{"class":84},"((",[67,436,438],{"class":437},"sIXEE","recette",[67,440,441],{"class":84},") ",[67,443,444],{"class":73},"=>",[67,446,447],{"class":84}," recette.titre)\n",[67,449,450,452,454,457],{"class":69,"line":105},[67,451,115],{"class":84},[67,453,119],{"class":118},[67,455,456],{"class":84},"(titres)  ",[67,458,459],{"class":131},"\u002F\u002F [\"Crêpes\", \"Ratatouille\", \"Salade\"]\n",[45,461,462],{},"Le tableau d'origine n'est pas modifié.",[10,464,466],{"id":465},"filter-garder-certains-éléments","filter : garder certains éléments",[45,468,469,471,472,36],{},[25,470,31],{}," garde les éléments pour lesquels la fonction renvoie ",[25,473,474],{},"true",[58,476,478],{"className":60,"code":477,"language":62,"meta":63,"style":63},"const rapides = recettes.filter((recette) => recette.minutes \u003C= 20)\nconsole.log(rapides.length)  \u002F\u002F 2\n",[25,479,480,512],{"__ignoreMap":63},[67,481,482,484,487,489,491,493,495,497,499,501,504,507,510],{"class":69,"line":70},[67,483,74],{"class":73},[67,485,486],{"class":77}," rapides",[67,488,81],{"class":73},[67,490,429],{"class":84},[67,492,31],{"class":118},[67,494,434],{"class":84},[67,496,438],{"class":437},[67,498,441],{"class":84},[67,500,444],{"class":73},[67,502,503],{"class":84}," recette.minutes ",[67,505,506],{"class":73},"\u003C=",[67,508,509],{"class":77}," 20",[67,511,174],{"class":84},[67,513,514,516,518,521,523,526],{"class":69,"line":105},[67,515,115],{"class":84},[67,517,119],{"class":118},[67,519,520],{"class":84},"(rapides.",[67,522,145],{"class":77},[67,524,525],{"class":84},")  ",[67,527,528],{"class":131},"\u002F\u002F 2\n",[10,530,532],{"id":531},"find-trouver-un-élément","find : trouver un élément",[45,534,535,537,538,541],{},[25,536,35],{}," renvoie le premier élément qui correspond, ou ",[25,539,540],{},"undefined"," s'il n'y en a aucun.",[58,543,545],{"className":60,"code":544,"language":62,"meta":63,"style":63},"const crepes = recettes.find((recette) => recette.id === 1)\nconsole.log(crepes.titre)  \u002F\u002F \"Crêpes\"\n",[25,546,547,579],{"__ignoreMap":63},[67,548,549,551,554,556,558,560,562,564,566,568,571,574,577],{"class":69,"line":70},[67,550,74],{"class":73},[67,552,553],{"class":77}," crepes",[67,555,81],{"class":73},[67,557,429],{"class":84},[67,559,35],{"class":118},[67,561,434],{"class":84},[67,563,438],{"class":437},[67,565,441],{"class":84},[67,567,444],{"class":73},[67,569,570],{"class":84}," recette.id ",[67,572,573],{"class":73},"===",[67,575,576],{"class":77}," 1",[67,578,174],{"class":84},[67,580,581,583,585,588],{"class":69,"line":105},[67,582,115],{"class":84},[67,584,119],{"class":118},[67,586,587],{"class":84},"(crepes.titre)  ",[67,589,276],{"class":131},[591,592,593,609],"table",{},[594,595,596],"thead",{},[597,598,599,603,606],"tr",{},[600,601,602],"th",{},"Méthode",[600,604,605],{},"Renvoie",[600,607,608],{},"Exemple d'usage",[610,611,612,625,637],"tbody",{},[597,613,614,619,622],{},[615,616,617],"td",{},[25,618,27],{},[615,620,621],{},"Un tableau de même taille",[615,623,624],{},"Extraire les titres.",[597,626,627,631,634],{},[615,628,629],{},[25,630,31],{},[615,632,633],{},"Un tableau plus court",[615,635,636],{},"Garder les recettes rapides.",[597,638,639,643,646],{},[615,640,641],{},[25,642,35],{},[615,644,645],{},"Un seul élément",[615,647,648,649,36],{},"Retrouver une recette par ",[25,650,651],{},"id",[45,653,654,655,658],{},"On les enchaîne : ",[25,656,657],{},"recettes.filter(...).map(...)"," garde les recettes rapides puis extrait leurs titres.",[660,661,662],"tip",{},[45,663,664,665,668,669,672,673,675],{},"Pour parcourir un tableau sans rien construire, ",[25,666,667],{},"forEach"," ou ",[25,670,671],{},"for...of"," suffisent. Prends ",[25,674,27],{}," quand tu veux un nouveau tableau en résultat.",[10,677,679],{"id":678},"la-déstructuration","La déstructuration",[45,681,682,683,686],{},"La ",[49,684,685],{},"déstructuration"," extrait des valeurs d'un objet ou d'un tableau en une ligne.",[58,688,690],{"className":60,"code":689,"language":62,"meta":63,"style":63},"const { titre, minutes } = recettes[0]\nconsole.log(titre, minutes)  \u002F\u002F \"Crêpes\" 20\n\nconst [premier, deuxieme] = ['farine', 'oeufs', 'lait']\nconsole.log(premier, deuxieme)  \u002F\u002F \"farine\" \"oeufs\"\n",[25,691,692,719,731,735,768],{"__ignoreMap":63},[67,693,694,696,699,702,704,707,710,712,715,717],{"class":69,"line":70},[67,695,74],{"class":73},[67,697,698],{"class":84}," { ",[67,700,701],{"class":77},"titre",[67,703,28],{"class":84},[67,705,706],{"class":77},"minutes",[67,708,709],{"class":84}," } ",[67,711,309],{"class":73},[67,713,714],{"class":84}," recettes[",[67,716,125],{"class":77},[67,718,102],{"class":84},[67,720,721,723,725,728],{"class":69,"line":105},[67,722,115],{"class":84},[67,724,119],{"class":118},[67,726,727],{"class":84},"(titre, minutes)  ",[67,729,730],{"class":131},"\u002F\u002F \"Crêpes\" 20\n",[67,732,733],{"class":69,"line":112},[67,734,109],{"emptyLinePlaceholder":108},[67,736,737,739,741,744,746,749,752,754,756,758,760,762,764,766],{"class":69,"line":135},[67,738,74],{"class":73},[67,740,85],{"class":84},[67,742,743],{"class":77},"premier",[67,745,28],{"class":84},[67,747,748],{"class":77},"deuxieme",[67,750,751],{"class":84},"] ",[67,753,309],{"class":73},[67,755,85],{"class":84},[67,757,89],{"class":88},[67,759,28],{"class":84},[67,761,94],{"class":88},[67,763,28],{"class":84},[67,765,99],{"class":88},[67,767,102],{"class":84},[67,769,770,772,774,777],{"class":69,"line":154},[67,771,115],{"class":84},[67,773,119],{"class":118},[67,775,776],{"class":84},"(premier, deuxieme)  ",[67,778,779],{"class":131},"\u002F\u002F \"farine\" \"oeufs\"\n",[45,781,782],{},"Les noms entre accolades doivent correspondre aux propriétés. Pour un tableau, c'est la position qui compte. On la retrouve dans les paramètres :",[58,784,786],{"className":60,"code":785,"language":62,"meta":63,"style":63},"const afficher = ({ titre, minutes }) => `${titre} (${minutes} min)`\nconsole.log(afficher(recettes[0]))\n",[25,787,788,824],{"__ignoreMap":63},[67,789,790,792,795,797,800,802,804,806,809,811,814,816,819,821],{"class":69,"line":70},[67,791,74],{"class":73},[67,793,794],{"class":118}," afficher",[67,796,81],{"class":73},[67,798,799],{"class":84}," ({ ",[67,801,701],{"class":437},[67,803,28],{"class":84},[67,805,706],{"class":437},[67,807,808],{"class":84}," }) ",[67,810,444],{"class":73},[67,812,813],{"class":88}," `${",[67,815,701],{"class":84},[67,817,818],{"class":88},"} (${",[67,820,706],{"class":84},[67,822,823],{"class":88},"} min)`\n",[67,825,826,828,830,832,835,838,840],{"class":69,"line":105},[67,827,115],{"class":84},[67,829,119],{"class":118},[67,831,168],{"class":84},[67,833,834],{"class":118},"afficher",[67,836,837],{"class":84},"(recettes[",[67,839,125],{"class":77},[67,841,842],{"class":84},"]))\n",[10,844,846],{"id":845},"le-spread","Le spread",[45,848,849,850,853,854,857],{},"Les trois points ",[25,851,852],{},"..."," ",[49,855,856],{},"étalent"," le contenu d'un tableau ou d'un objet dans un nouveau.",[58,859,861],{"className":60,"code":860,"language":62,"meta":63,"style":63},"const base = ['farine', 'oeufs']\nconst complet = [...base, 'lait', 'sucre']\n\nconst crepes = { titre: 'Crêpes', minutes: 20 }\nconst crepesLongues = { ...crepes, minutes: 30 }\n",[25,862,863,882,906,910,929],{"__ignoreMap":63},[67,864,865,867,870,872,874,876,878,880],{"class":69,"line":70},[67,866,74],{"class":73},[67,868,869],{"class":77}," base",[67,871,81],{"class":73},[67,873,85],{"class":84},[67,875,89],{"class":88},[67,877,28],{"class":84},[67,879,94],{"class":88},[67,881,102],{"class":84},[67,883,884,886,889,891,893,895,898,900,902,904],{"class":69,"line":105},[67,885,74],{"class":73},[67,887,888],{"class":77}," complet",[67,890,81],{"class":73},[67,892,85],{"class":84},[67,894,852],{"class":73},[67,896,897],{"class":84},"base, ",[67,899,99],{"class":88},[67,901,28],{"class":84},[67,903,171],{"class":88},[67,905,102],{"class":84},[67,907,908],{"class":69,"line":112},[67,909,109],{"emptyLinePlaceholder":108},[67,911,912,914,916,918,921,923,925,927],{"class":69,"line":135},[67,913,74],{"class":73},[67,915,553],{"class":77},[67,917,81],{"class":73},[67,919,920],{"class":84}," { titre: ",[67,922,234],{"class":88},[67,924,355],{"class":84},[67,926,245],{"class":77},[67,928,399],{"class":84},[67,930,931,933,936,938,940,942,945,948],{"class":69,"line":154},[67,932,74],{"class":73},[67,934,935],{"class":77}," crepesLongues",[67,937,81],{"class":73},[67,939,698],{"class":84},[67,941,852],{"class":73},[67,943,944],{"class":84},"crepes, minutes: ",[67,946,947],{"class":77},"30",[67,949,399],{"class":84},[45,951,952,953,956,957,959],{},"Le dernier exemple copie ",[25,954,955],{},"crepes"," en remplaçant ",[25,958,706],{},". L'objet d'origine reste intact : c'est la façon habituelle de « modifier » sans toucher à l'original.",[961,962,963],"caution",{},[45,964,965],{},"Le spread fait une copie superficielle. Les objets imbriqués restent partagés entre l'original et la copie.",[10,967,969],{"id":968},"accéder-sans-planter","Accéder sans planter",[45,971,972,973,975,976,853,979,982,983,985],{},"Lire une propriété d'une valeur ",[25,974,540],{}," provoque une erreur. L'",[49,977,978],{},"optional chaining",[25,980,981],{},"?."," s'arrête et renvoie ",[25,984,540],{}," à la place.",[58,987,989],{"className":60,"code":988,"language":62,"meta":63,"style":63},"const recette = { titre: 'Crêpes' }\n\nconsole.log(recette.auteur?.nom)         \u002F\u002F undefined, sans erreur\nconsole.log(recette.auteur?.nom ?? 'Anonyme')  \u002F\u002F \"Anonyme\"\n",[25,990,991,1005,1009,1021],{"__ignoreMap":63},[67,992,993,995,997,999,1001,1003],{"class":69,"line":70},[67,994,74],{"class":73},[67,996,221],{"class":77},[67,998,81],{"class":73},[67,1000,920],{"class":84},[67,1002,234],{"class":88},[67,1004,399],{"class":84},[67,1006,1007],{"class":69,"line":105},[67,1008,109],{"emptyLinePlaceholder":108},[67,1010,1011,1013,1015,1018],{"class":69,"line":112},[67,1012,115],{"class":84},[67,1014,119],{"class":118},[67,1016,1017],{"class":84},"(recette.auteur?.nom)         ",[67,1019,1020],{"class":131},"\u002F\u002F undefined, sans erreur\n",[67,1022,1023,1025,1027,1030,1033,1036,1038],{"class":69,"line":135},[67,1024,115],{"class":84},[67,1026,119],{"class":118},[67,1028,1029],{"class":84},"(recette.auteur?.nom ",[67,1031,1032],{"class":73},"??",[67,1034,1035],{"class":88}," 'Anonyme'",[67,1037,525],{"class":84},[67,1039,1040],{"class":131},"\u002F\u002F \"Anonyme\"\n",[45,1042,1043,1044,1046,1047,668,1050,36],{},"L'opérateur ",[25,1045,1032],{}," donne une valeur de remplacement quand la partie gauche est ",[25,1048,1049],{},"null",[25,1051,540],{},[10,1053,1055],{"id":1054},"objets-et-json","Objets et JSON",[45,1057,1058,1059,1062],{},"Le ",[49,1060,1061],{},"JSON"," est un format texte qui ressemble aux objets JavaScript. Deux fonctions font la conversion.",[58,1064,1066],{"className":60,"code":1065,"language":62,"meta":63,"style":63},"const texte = JSON.stringify({ titre: 'Crêpes', minutes: 20 })\nconst objet = JSON.parse(texte)\nconsole.log(objet.titre)  \u002F\u002F \"Crêpes\"\n",[25,1067,1068,1097,1116],{"__ignoreMap":63},[67,1069,1070,1072,1075,1077,1080,1082,1085,1088,1090,1092,1094],{"class":69,"line":70},[67,1071,74],{"class":73},[67,1073,1074],{"class":77}," texte",[67,1076,81],{"class":73},[67,1078,1079],{"class":77}," JSON",[67,1081,36],{"class":84},[67,1083,1084],{"class":118},"stringify",[67,1086,1087],{"class":84},"({ titre: ",[67,1089,234],{"class":88},[67,1091,355],{"class":84},[67,1093,245],{"class":77},[67,1095,1096],{"class":84}," })\n",[67,1098,1099,1101,1104,1106,1108,1110,1113],{"class":69,"line":105},[67,1100,74],{"class":73},[67,1102,1103],{"class":77}," objet",[67,1105,81],{"class":73},[67,1107,1079],{"class":77},[67,1109,36],{"class":84},[67,1111,1112],{"class":118},"parse",[67,1114,1115],{"class":84},"(texte)\n",[67,1117,1118,1120,1122,1125],{"class":69,"line":112},[67,1119,115],{"class":84},[67,1121,119],{"class":118},[67,1123,1124],{"class":84},"(objet.titre)  ",[67,1126,276],{"class":131},[45,1128,1129],{},"C'est le format des données échangées avec un serveur, vu dans le dernier cours.",[10,1131,1133],{"id":1132},"à-retenir","À retenir",[15,1135,1136,1139,1150,1156,1162,1169],{},[18,1137,1138],{},"Un tableau est une liste indexée à partir de 0, un objet associe des noms à des valeurs.",[18,1140,1141,1143,1144,1146,1147,1149],{},[25,1142,27],{}," transforme, ",[25,1145,31],{}," sélectionne, ",[25,1148,35],{}," renvoie le premier élément qui correspond.",[18,1151,1152,1153,36],{},"La déstructuration extrait des valeurs : ",[25,1154,1155],{},"const { titre } = recette",[18,1157,1158,1159,1161],{},"Le spread ",[25,1160,852],{}," copie un tableau ou un objet en le complétant ou en remplaçant des valeurs.",[18,1163,1164,32,1166,1168],{},[25,1165,981],{},[25,1167,1032],{}," évitent les erreurs sur les valeurs absentes.",[18,1170,1171,32,1174,1177],{},[25,1172,1173],{},"JSON.stringify",[25,1175,1176],{},"JSON.parse"," convertissent entre objet et texte.",[1179,1180,1181],"style",{},"html pre.shiki code .sOnC1, html code.shiki .sOnC1{--shiki-light:#CF222E;--shiki-default:#FF7B72;--shiki-dark:#FF7B72}html pre.shiki code .s5iOY, html code.shiki .s5iOY{--shiki-light:#0550AE;--shiki-default:#79C0FF;--shiki-dark:#79C0FF}html pre.shiki code .scfrF, html code.shiki .scfrF{--shiki-light:#1F2328;--shiki-default:#E6EDF3;--shiki-dark:#E6EDF3}html pre.shiki code .shWOn, html code.shiki .shWOn{--shiki-light:#0A3069;--shiki-default:#A5D6FF;--shiki-dark:#A5D6FF}html pre.shiki code .syCW7, html code.shiki .syCW7{--shiki-light:#8250DF;--shiki-default:#D2A8FF;--shiki-dark:#D2A8FF}html pre.shiki code .sd6ml, html code.shiki .sd6ml{--shiki-light:#6E7781;--shiki-default:#8B949E;--shiki-dark:#8B949E}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sIXEE, html code.shiki .sIXEE{--shiki-light:#953800;--shiki-default:#FFA657;--shiki-dark:#FFA657}",{"title":63,"searchDepth":105,"depth":112,"links":1183},[1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194],{"id":12,"depth":105,"text":13},{"id":42,"depth":105,"text":43},{"id":198,"depth":105,"text":199},{"id":406,"depth":105,"text":407},{"id":465,"depth":105,"text":466},{"id":531,"depth":105,"text":532},{"id":678,"depth":105,"text":679},{"id":845,"depth":105,"text":846},{"id":968,"depth":105,"text":969},{"id":1054,"depth":105,"text":1055},{"id":1132,"depth":105,"text":1133},"Regrouper des données dans des tableaux et des objets, les transformer avec map, filter et find, puis les manipuler avec la déstructuration et le spread.","md",{},[51,204,27,31,35,685,1199,1061,978],"spread","intermediaire","\u002Fjs\u002Ftableaux-et-objets",[1203],"\u002Fjs\u002Ffonctions",[1205,1209,1212],{"nom":1206,"url":1207,"type":1208},"MDN, Les tableaux","https:\u002F\u002Fdeveloper.mozilla.org\u002Ffr\u002Fdocs\u002FLearn_web_development\u002FCore\u002FScripting\u002FArrays","cours",{"nom":1210,"url":1211,"type":1208},"MDN, Les bases des objets JavaScript","https:\u002F\u002Fdeveloper.mozilla.org\u002Ffr\u002Fdocs\u002FLearn_web_development\u002FCore\u002FScripting\u002FObject_basics",{"nom":1213,"url":1214,"type":1215},"MDN, Référence JavaScript","https:\u002F\u002Fdeveloper.mozilla.org\u002Ffr\u002Fdocs\u002FWeb\u002FJavaScript\u002FReference","doc",{"title":5,"description":1195},[1218,1219],{"nom":1206,"url":1207},{"nom":1210,"url":1211},"js\u002F04.tableaux-et-objets","_DWAEFziWmDyR2lcDr7gVL-XYeHuqnVHK85s5crEh8U",[1223,1227,1231,1234,1235,1239,1243],{"path":1224,"title":1225,"stem":1226},"\u002Fjs\u002Fpremiers-pas","Premiers pas en JavaScript","js\u002F01.premiers-pas",{"path":1228,"title":1229,"stem":1230},"\u002Fjs\u002Fconditions-et-boucles","Conditions et boucles","js\u002F02.conditions-et-boucles",{"path":1203,"title":1232,"stem":1233},"Les fonctions","js\u002F03.fonctions",{"path":1201,"title":5,"stem":1220},{"path":1236,"title":1237,"stem":1238},"\u002Fjs\u002Fdom-et-evenements","Le DOM et les événements","js\u002F05.dom-et-evenements",{"path":1240,"title":1241,"stem":1242},"\u002Fjs\u002Fasynchrone-et-modules","Asynchrone et modules","js\u002F06.asynchrone-et-modules",{"path":1244,"title":1245,"stem":1246},"\u002Fjs","JavaScript","js\u002Findex",[1248,1250],{"title":1232,"path":1203,"stem":1233,"description":1249,"children":-1},"Écrire et appeler des fonctions, utiliser les paramètres et le retour, découvrir les fonctions fléchées et comprendre la portée des variables.",{"title":1237,"path":1236,"stem":1238,"description":1251,"children":-1},"Sélectionner et modifier les éléments d'une page avec le DOM, puis réagir aux clics et aux formulaires avec addEventListener.",[1253],{"path":1203,"title":1232,"ligne":62},[1255,1257,1258,1259,1260,1261,1263],{"path":1224,"title":1225,"niveau":1256,"stem":1226},"debutant",{"path":1228,"title":1229,"niveau":1256,"stem":1230},{"path":1203,"title":1232,"niveau":1256,"stem":1233},{"path":1201,"title":5,"niveau":1200,"stem":1220},{"path":1236,"title":1237,"niveau":1200,"stem":1238},{"path":1240,"title":1241,"niveau":1262,"stem":1242},"avance",{"path":1244,"title":1245,"niveau":1264,"stem":1246},"memo",1794583436895]