{"data":{"allChallengeNode":{"edges":[{"node":{"challenge":{"id":"bd7123c8c441eddfaeb5bdef","block":"basic-html-and-html5","challengeType":0,"title":"Dites bonjour aux éléments HTML","order":0,"superBlock":"responsive-web-design","dashedName":"say-hello-to-html-elements","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/say-hello-to-html-elements","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf0887a","block":"basic-html-and-html5","challengeType":0,"title":"Titre avec l'élément h2","order":0,"superBlock":"responsive-web-design","dashedName":"headline-with-the-h2-element","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/headline-with-the-h2-element","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08801","block":"basic-html-and-html5","challengeType":0,"title":"Informer avec l'élément Paragraphe","order":0,"superBlock":"responsive-web-design","dashedName":"inform-with-the-paragraph-element","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/inform-with-the-paragraph-element","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08833","block":"basic-html-and-html5","challengeType":0,"title":"Remplir le vide avec du texte de remplacement","order":0,"superBlock":"responsive-web-design","dashedName":"fill-in-the-blank-with-placeholder-text","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/fill-in-the-blank-with-placeholder-text","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08802","block":"basic-html-and-html5","challengeType":0,"title":"Décommenter le HTML","order":0,"superBlock":"responsive-web-design","dashedName":"uncomment-html","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/uncomment-html","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08804","block":"basic-html-and-html5","challengeType":0,"title":"Commenter le code HTML","order":0,"superBlock":"responsive-web-design","dashedName":"comment-out-html","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/comment-out-html","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fed1348bd9aedf08833","block":"basic-html-and-html5","challengeType":0,"title":"Supprimer des éléments HTML","order":0,"superBlock":"responsive-web-design","dashedName":"delete-html-elements","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/delete-html-elements","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aecf08801","block":"basic-html-and-html5","challengeType":0,"title":"Introduction aux éléments HTML5","order":0,"superBlock":"responsive-web-design","dashedName":"introduction-to-html5-elements","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/introduction-to-html5-elements","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08812","block":"basic-html-and-html5","challengeType":0,"title":"Ajouter des images à votre site Web","order":0,"superBlock":"responsive-web-design","dashedName":"add-images-to-your-website","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/add-images-to-your-website","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08816","block":"basic-html-and-html5","challengeType":0,"title":"Créer des liens vers des pages externes avec des éléments d'ancrage","order":0,"superBlock":"responsive-web-design","dashedName":"link-to-external-pages-with-anchor-elements","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/link-to-external-pages-with-anchor-elements","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad88fee1348bd9aedf08816","block":"basic-html-and-html5","challengeType":0,"title":"Créer des liens vers les sections internes d'une page avec des éléments d'ancrage","order":0,"superBlock":"responsive-web-design","dashedName":"link-to-internal-sections-of-a-page-with-anchor-elements","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/link-to-internal-sections-of-a-page-with-anchor-elements","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08817","block":"basic-html-and-html5","challengeType":0,"title":"Incorporer un élément d'ancrage dans un paragraphe","order":0,"superBlock":"responsive-web-design","dashedName":"nest-an-anchor-element-within-a-paragraph","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/nest-an-anchor-element-within-a-paragraph","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08817","block":"basic-html-and-html5","challengeType":0,"title":"Créer des liens morts en utilisant le symbole du dièse","order":0,"superBlock":"responsive-web-design","dashedName":"make-dead-links-using-the-hash-symbol","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/make-dead-links-using-the-hash-symbol","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08820","block":"basic-html-and-html5","challengeType":0,"title":"Transformer une image en lien","order":0,"superBlock":"responsive-web-design","dashedName":"turn-an-image-into-a-link","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/turn-an-image-into-a-link","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08827","block":"basic-html-and-html5","challengeType":0,"title":"Créer une liste non ordonnée à puces","order":0,"superBlock":"responsive-web-design","dashedName":"create-a-bulleted-unordered-list","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-a-bulleted-unordered-list","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08828","block":"basic-html-and-html5","challengeType":0,"title":"Créer une liste ordonnée","order":0,"superBlock":"responsive-web-design","dashedName":"create-an-ordered-list","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-an-ordered-list","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08829","block":"basic-html-and-html5","challengeType":0,"title":"Créer une zone de texte","order":0,"superBlock":"responsive-web-design","dashedName":"create-a-text-field","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-a-text-field","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08830","block":"basic-html-and-html5","challengeType":0,"title":"Ajouter un texte de remplacement à un champ de texte","order":0,"superBlock":"responsive-web-design","dashedName":"add-placeholder-text-to-a-text-field","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/add-placeholder-text-to-a-text-field","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08830","block":"basic-html-and-html5","challengeType":0,"title":"Créer un élément de formulaire","order":0,"superBlock":"responsive-web-design","dashedName":"create-a-form-element","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-a-form-element","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedd08830","block":"basic-html-and-html5","challengeType":0,"title":"Ajouter un bouton de soumission à un formulaire","order":0,"superBlock":"responsive-web-design","dashedName":"add-a-submit-button-to-a-form","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/add-a-submit-button-to-a-form","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedc08830","block":"basic-html-and-html5","challengeType":0,"title":"Utilisez HTML5 pour rendre un champ obligatoire","order":0,"superBlock":"responsive-web-design","dashedName":"use-html5-to-require-a-field","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/use-html5-to-require-a-field","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08834","block":"basic-html-and-html5","challengeType":0,"title":"Créer un ensemble de boutons radio","order":0,"superBlock":"responsive-web-design","dashedName":"create-a-set-of-radio-buttons","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-a-set-of-radio-buttons","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08835","block":"basic-html-and-html5","challengeType":0,"title":"Créer un ensemble de cases à cocher","order":0,"superBlock":"responsive-web-design","dashedName":"create-a-set-of-checkboxes","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/create-a-set-of-checkboxes","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"5c6c06847491271903d37cfd","block":"basic-html-and-html5","challengeType":0,"title":"Utilisez l'attribut value avec les boutons radio et les cases à cocher.","order":0,"superBlock":"responsive-web-design","dashedName":"use-the-value-attribute-with-radio-buttons-and-checkboxes","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/use-the-value-attribute-with-radio-buttons-and-checkboxes","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedd08835","block":"basic-html-and-html5","challengeType":0,"title":"Vérifier les boutons radio et les cases à cocher par défaut","order":0,"superBlock":"responsive-web-design","dashedName":"check-radio-buttons-and-checkboxes-by-default","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08835","block":"basic-html-and-html5","challengeType":0,"title":"Intégration de plusieurs éléments dans un seul élément div","order":0,"superBlock":"responsive-web-design","dashedName":"nest-many-elements-within-a-single-div-element","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/nest-many-elements-within-a-single-div-element","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"587d78aa367417b2b2512aed","block":"basic-html-and-html5","challengeType":0,"title":"Déclarer le Doctype d'un document HTML","order":0,"superBlock":"responsive-web-design","dashedName":"declare-the-doctype-of-an-html-document","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/declare-the-doctype-of-an-html-document","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"587d78aa367417b2b2512aec","block":"basic-html-and-html5","challengeType":0,"title":"Définir l'en-tête et le corps d'un document HTML","order":0,"superBlock":"responsive-web-design","dashedName":"define-the-head-and-body-of-an-html-document","fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/define-the-head-and-body-of-an-html-document","blockName":"Basic HTML and HTML5"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08803","block":"basic-css","challengeType":0,"title":"Modifier la couleur du texte","order":1,"superBlock":"responsive-web-design","dashedName":"change-the-color-of-text","fields":{"slug":"/learn/responsive-web-design/basic-css/change-the-color-of-text","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08805","block":"basic-css","challengeType":0,"title":"Utiliser les sélecteurs CSS pour styliser les éléments","order":1,"superBlock":"responsive-web-design","dashedName":"use-css-selectors-to-style-elements","fields":{"slug":"/learn/responsive-web-design/basic-css/use-css-selectors-to-style-elements","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aecf08806","block":"basic-css","challengeType":0,"title":"Utiliser une classe CSS pour styliser un élément","order":1,"superBlock":"responsive-web-design","dashedName":"use-a-css-class-to-style-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/use-a-css-class-to-style-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aefe08806","block":"basic-css","challengeType":0,"title":"Styliser plusieurs éléments avec une classe CSS","order":1,"superBlock":"responsive-web-design","dashedName":"style-multiple-elements-with-a-css-class","fields":{"slug":"/learn/responsive-web-design/basic-css/style-multiple-elements-with-a-css-class","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08806","block":"basic-css","challengeType":0,"title":"Modifier la taille de la police d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"change-the-font-size-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/change-the-font-size-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08807","block":"basic-css","challengeType":0,"title":"Définir la famille de police d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"set-the-font-family-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/set-the-font-family-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08807","block":"basic-css","challengeType":0,"title":"Importer une police Google Font","order":1,"superBlock":"responsive-web-design","dashedName":"import-a-google-font","fields":{"slug":"/learn/responsive-web-design/basic-css/import-a-google-font","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08808","block":"basic-css","challengeType":0,"title":"Spécifier comment les polices doivent se dégrader","order":1,"superBlock":"responsive-web-design","dashedName":"specify-how-fonts-should-degrade","fields":{"slug":"/learn/responsive-web-design/basic-css/specify-how-fonts-should-degrade","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9acdf08812","block":"basic-css","challengeType":0,"title":"Dimensionnez vos images","order":1,"superBlock":"responsive-web-design","dashedName":"size-your-images","fields":{"slug":"/learn/responsive-web-design/basic-css/size-your-images","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9bedf08813","block":"basic-css","challengeType":0,"title":"Ajoutez des bordures autour de vos éléments","order":1,"superBlock":"responsive-web-design","dashedName":"add-borders-around-your-elements","fields":{"slug":"/learn/responsive-web-design/basic-css/add-borders-around-your-elements","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08814","block":"basic-css","challengeType":0,"title":"Ajouter des coins arrondis avec border-radius","order":1,"superBlock":"responsive-web-design","dashedName":"add-rounded-corners-with-border-radius","fields":{"slug":"/learn/responsive-web-design/basic-css/add-rounded-corners-with-border-radius","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08815","block":"basic-css","challengeType":0,"title":"Créer des images circulaires avec border-radius","order":1,"superBlock":"responsive-web-design","dashedName":"make-circular-images-with-a-border-radius","fields":{"slug":"/learn/responsive-web-design/basic-css/make-circular-images-with-a-border-radius","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fed1348bd9aede07836","block":"basic-css","challengeType":0,"title":"Donner une couleur de fond à un élément div","order":1,"superBlock":"responsive-web-design","dashedName":"give-a-background-color-to-a-div-element","fields":{"slug":"/learn/responsive-web-design/basic-css/give-a-background-color-to-a-div-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87eee1348bd9aede07836","block":"basic-css","challengeType":0,"title":"Définir l'identifiant d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"set-the-id-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/set-the-id-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87dee1348bd9aede07836","block":"basic-css","challengeType":0,"title":"Utiliser un attribut id pour styliser un élément","order":1,"superBlock":"responsive-web-design","dashedName":"use-an-id-attribute-to-style-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/use-an-id-attribute-to-style-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad88fee1348bd9aedf08825","block":"basic-css","challengeType":0,"title":"Ajuster la marge interne d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"adjust-the-padding-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/adjust-the-padding-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08822","block":"basic-css","challengeType":0,"title":"Ajuster la marge d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"adjust-the-margin-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/adjust-the-margin-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08823","block":"basic-css","challengeType":0,"title":"Ajouter une marge négative à un élément","order":1,"superBlock":"responsive-web-design","dashedName":"add-a-negative-margin-to-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/add-a-negative-margin-to-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08824","block":"basic-css","challengeType":0,"title":"Ajouter une marge interne différente de chaque côté d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"add-different-padding-to-each-side-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/add-different-padding-to-each-side-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1248bd9aedf08824","block":"basic-css","challengeType":0,"title":"Ajouter des marges différentes de chaque côté d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"add-different-margins-to-each-side-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/add-different-margins-to-each-side-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08826","block":"basic-css","challengeType":0,"title":"Utiliser la notation dans le sens des aiguilles d'une montre pour spécifier la marge interne d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"use-clockwise-notation-to-specify-the-padding-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/use-clockwise-notation-to-specify-the-padding-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9afdf08726","block":"basic-css","challengeType":0,"title":"Utiliser la notation dans le sens des aiguilles d'une montre pour spécifier la marge d'un élément","order":1,"superBlock":"responsive-web-design","dashedName":"use-clockwise-notation-to-specify-the-margin-of-an-element","fields":{"slug":"/learn/responsive-web-design/basic-css/use-clockwise-notation-to-specify-the-margin-of-an-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"58c383d33e2e3259241f3076","block":"basic-css","challengeType":0,"title":"Utiliser les sélecteurs d'attributs pour styliser les éléments","order":1,"superBlock":"responsive-web-design","dashedName":"use-attribute-selectors-to-style-elements","fields":{"slug":"/learn/responsive-web-design/basic-css/use-attribute-selectors-to-style-elements","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad82fee1322bd9aedf08721","block":"basic-css","challengeType":0,"title":"Comprendre les unités absolues et relatives","order":1,"superBlock":"responsive-web-design","dashedName":"understand-absolute-versus-relative-units","fields":{"slug":"/learn/responsive-web-design/basic-css/understand-absolute-versus-relative-units","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08736","block":"basic-css","challengeType":0,"title":"Styliser l'élément HTML Body","order":1,"superBlock":"responsive-web-design","dashedName":"style-the-html-body-element","fields":{"slug":"/learn/responsive-web-design/basic-css/style-the-html-body-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08746","block":"basic-css","challengeType":0,"title":"Hériter des styles de l'élément Body","order":1,"superBlock":"responsive-web-design","dashedName":"inherit-styles-from-the-body-element","fields":{"slug":"/learn/responsive-web-design/basic-css/inherit-styles-from-the-body-element","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08756","block":"basic-css","challengeType":0,"title":"Donner la priorité à un style plutôt qu'à un autre","order":1,"superBlock":"responsive-web-design","dashedName":"prioritize-one-style-over-another","fields":{"slug":"/learn/responsive-web-design/basic-css/prioritize-one-style-over-another","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf04756","block":"basic-css","challengeType":0,"title":"Remplacer les styles dans le CSS suivant","order":1,"superBlock":"responsive-web-design","dashedName":"override-styles-in-subsequent-css","fields":{"slug":"/learn/responsive-web-design/basic-css/override-styles-in-subsequent-css","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd8aedf06756","block":"basic-css","challengeType":0,"title":"Remplacer les déclarations de classe par des attributs d'ID de style","order":1,"superBlock":"responsive-web-design","dashedName":"override-class-declarations-by-styling-id-attributes","fields":{"slug":"/learn/responsive-web-design/basic-css/override-class-declarations-by-styling-id-attributes","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf06756","block":"basic-css","challengeType":0,"title":"Remplacer les déclarations de classe par des styles en ligne","order":1,"superBlock":"responsive-web-design","dashedName":"override-class-declarations-with-inline-styles","fields":{"slug":"/learn/responsive-web-design/basic-css/override-class-declarations-with-inline-styles","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf07756","block":"basic-css","challengeType":0,"title":"Remplacez tous les autres styles en utilisant Important","order":1,"superBlock":"responsive-web-design","dashedName":"override-all-other-styles-by-using-important","fields":{"slug":"/learn/responsive-web-design/basic-css/override-all-other-styles-by-using-important","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08726","block":"basic-css","challengeType":0,"title":"Utiliser le code hexadécimal pour des couleurs spécifiques","order":1,"superBlock":"responsive-web-design","dashedName":"use-hex-code-for-specific-colors","fields":{"slug":"/learn/responsive-web-design/basic-css/use-hex-code-for-specific-colors","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08721","block":"basic-css","challengeType":0,"title":"Utilisez le code hexadécimal pour mélanger les couleurs","order":1,"superBlock":"responsive-web-design","dashedName":"use-hex-code-to-mix-colors","fields":{"slug":"/learn/responsive-web-design/basic-css/use-hex-code-to-mix-colors","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08719","block":"basic-css","challengeType":0,"title":"Utiliser un code hexadécimal abrégé","order":1,"superBlock":"responsive-web-design","dashedName":"use-abbreviated-hex-code","fields":{"slug":"/learn/responsive-web-design/basic-css/use-abbreviated-hex-code","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08718","block":"basic-css","challengeType":0,"title":"Utiliser les valeurs RGB pour colorer les éléments","order":1,"superBlock":"responsive-web-design","dashedName":"use-rgb-values-to-color-elements","fields":{"slug":"/learn/responsive-web-design/basic-css/use-rgb-values-to-color-elements","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"bad82fee1348bd9aedf08721","block":"basic-css","challengeType":0,"title":"Utiliser RGB pour mélanger les couleurs","order":1,"superBlock":"responsive-web-design","dashedName":"use-rgb-to-mix-colors","fields":{"slug":"/learn/responsive-web-design/basic-css/use-rgb-to-mix-colors","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d725e424fe3d0e10cad10","block":"basic-css","challengeType":0,"title":"Utilisez les variables CSS pour modifier plusieurs elements à la fois","order":1,"superBlock":"responsive-web-design","dashedName":"use-css-variables-to-change-several-elements-at-once","fields":{"slug":"/learn/responsive-web-design/basic-css/use-css-variables-to-change-several-elements-at-once","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d726c424fe3d0e10cad11","block":"basic-css","challengeType":0,"title":"Créer une variable CSS personnalisée","order":1,"superBlock":"responsive-web-design","dashedName":"create-a-custom-css-variable","fields":{"slug":"/learn/responsive-web-design/basic-css/create-a-custom-css-variable","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d727a424fe3d0e10cad12","block":"basic-css","challengeType":0,"title":"Utilisez une variable CSS personnalisée","order":1,"superBlock":"responsive-web-design","dashedName":"use-a-custom-css-variable","fields":{"slug":"/learn/responsive-web-design/basic-css/use-a-custom-css-variable","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d7286424fe3d0e10cad13","block":"basic-css","challengeType":0,"title":"Attacher une valeur de repli à une variable CSS","order":1,"superBlock":"responsive-web-design","dashedName":"attach-a-fallback-value-to-a-css-variable","fields":{"slug":"/learn/responsive-web-design/basic-css/attach-a-fallback-value-to-a-css-variable","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5b7d72c338cd7e35b63f3e14","block":"basic-css","challengeType":0,"title":"Amélioration de la compatibilité avec les anciennes versions des navigateurs","order":1,"superBlock":"responsive-web-design","dashedName":"improve-compatibility-with-browser-fallbacks","fields":{"slug":"/learn/responsive-web-design/basic-css/improve-compatibility-with-browser-fallbacks","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d7295424fe3d0e10cad14","block":"basic-css","challengeType":0,"title":"Hériter des variables CSS","order":1,"superBlock":"responsive-web-design","dashedName":"inherit-css-variables","fields":{"slug":"/learn/responsive-web-design/basic-css/inherit-css-variables","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d72a1424fe3d0e10cad15","block":"basic-css","challengeType":0,"title":"Modifier une variable pour une zone spécifique","order":1,"superBlock":"responsive-web-design","dashedName":"change-a-variable-for-a-specific-area","fields":{"slug":"/learn/responsive-web-design/basic-css/change-a-variable-for-a-specific-area","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"5a9d72ad424fe3d0e10cad16","block":"basic-css","challengeType":0,"title":"Utilisez une requête média pour modifier une variable","order":1,"superBlock":"responsive-web-design","dashedName":"use-a-media-query-to-change-a-variable","fields":{"slug":"/learn/responsive-web-design/basic-css/use-a-media-query-to-change-a-variable","blockName":"Basic CSS"}}}},{"node":{"challenge":{"id":"587d7791367417b2b2512ab3","block":"applied-visual-design","challengeType":0,"title":"Créer un équilibre visuel en utilisant la propriété text-align","order":2,"superBlock":"responsive-web-design","dashedName":"create-visual-balance-using-the-text-align-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-visual-balance-using-the-text-align-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d7791367417b2b2512ab4","block":"applied-visual-design","challengeType":0,"title":"Ajuster la largeur d'un élément à l'aide de la propriété width","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-width-of-an-element-using-the-width-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-width-of-an-element-using-the-width-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d7791367417b2b2512ab5","block":"applied-visual-design","challengeType":0,"title":"Ajuster la hauteur d'un élément à l'aide de la propriété height","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-height-of-an-element-using-the-height-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-height-of-an-element-using-the-height-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781a367417b2b2512ab7","block":"applied-visual-design","challengeType":0,"title":"Utilisez la balise strong pour mettre le texte en gras","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-strong-tag-to-make-text-bold","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-strong-tag-to-make-text-bold","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781a367417b2b2512ab8","block":"applied-visual-design","challengeType":0,"title":"Utilisez la balise u pour souligner du texte","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-u-tag-to-underline-text","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-u-tag-to-underline-text","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781a367417b2b2512ab9","block":"applied-visual-design","challengeType":0,"title":"Utilisez la balise em pour mettre le texte en italique","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-em-tag-to-italicize-text","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-em-tag-to-italicize-text","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781b367417b2b2512aba","block":"applied-visual-design","challengeType":0,"title":"Utilisez la balise s pour barrer le texte","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-s-tag-to-strikethrough-text","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-s-tag-to-strikethrough-text","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781b367417b2b2512abb","block":"applied-visual-design","challengeType":0,"title":"Créer une ligne horizontale à l'aide du hr","order":2,"superBlock":"responsive-web-design","dashedName":"create-a-horizontal-line-using-the-hr-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-a-horizontal-line-using-the-hr-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781b367417b2b2512abc","block":"applied-visual-design","challengeType":0,"title":"Ajustez la propriété de couleur d'arrière-plan du texte","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-background-color-property-of-text","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-background-color-property-of-text","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781b367417b2b2512abd","block":"applied-visual-design","challengeType":0,"title":"Ajuster la taille d'un élément d'en-tête par rapport à un élément de paragraphe","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-size-of-a-heading-element-versus-a-paragraph-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-size-of-a-heading-element-versus-a-paragraph-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781b367417b2b2512abe","block":"applied-visual-design","challengeType":0,"title":"Ajouter un  box-shadow à un élément de type carte","order":2,"superBlock":"responsive-web-design","dashedName":"add-a-box-shadow-to-a-card-like-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/add-a-box-shadow-to-a-card-like-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781c367417b2b2512abf","block":"applied-visual-design","challengeType":0,"title":"Diminuer l'opacité d'un élément","order":2,"superBlock":"responsive-web-design","dashedName":"decrease-the-opacity-of-an-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/decrease-the-opacity-of-an-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781c367417b2b2512ac0","block":"applied-visual-design","challengeType":0,"title":"Utilisez la propriété text-transform pour mettre le texte en majuscules.","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-text-transform-property-to-make-text-uppercase","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-text-transform-property-to-make-text-uppercase","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781c367417b2b2512ac2","block":"applied-visual-design","challengeType":0,"title":"Définir la taille de la police pour les éléments à en-tête multiples","order":2,"superBlock":"responsive-web-design","dashedName":"set-the-font-size-for-multiple-heading-elements","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/set-the-font-size-for-multiple-heading-elements","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781c367417b2b2512ac3","block":"applied-visual-design","challengeType":0,"title":"Définir le poids de la police pour plusieurs éléments d'en-tête","order":2,"superBlock":"responsive-web-design","dashedName":"set-the-font-weight-for-multiple-heading-elements","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/set-the-font-weight-for-multiple-heading-elements","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781c367417b2b2512ac4","block":"applied-visual-design","challengeType":0,"title":"Définir la taille de la police du texte du paragraphe","order":2,"superBlock":"responsive-web-design","dashedName":"set-the-font-size-of-paragraph-text","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/set-the-font-size-of-paragraph-text","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781d367417b2b2512ac5","block":"applied-visual-design","challengeType":0,"title":"Définir la hauteur de ligne des Paragraphes","order":2,"superBlock":"responsive-web-design","dashedName":"set-the-line-height-of-paragraphs","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/set-the-line-height-of-paragraphs","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781d367417b2b2512ac8","block":"applied-visual-design","challengeType":0,"title":"Ajuster l'état de survol d'une balise d'ancrage","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-hover-state-of-an-anchor-tag","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-hover-state-of-an-anchor-tag","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781e367417b2b2512ac9","block":"applied-visual-design","challengeType":0,"title":"Modifier la position relative d'un élément","order":2,"superBlock":"responsive-web-design","dashedName":"change-an-elements-relative-position","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/change-an-elements-relative-position","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781e367417b2b2512aca","block":"applied-visual-design","challengeType":0,"title":"Déplacer un élément positionné de façon relative avec les décalages CSS","order":2,"superBlock":"responsive-web-design","dashedName":"move-a-relatively-positioned-element-with-css-offsets","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/move-a-relatively-positioned-element-with-css-offsets","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781e367417b2b2512acb","block":"applied-visual-design","challengeType":0,"title":"Verrouiller un élément à son parent avec le positionnement absolu","order":2,"superBlock":"responsive-web-design","dashedName":"lock-an-element-to-its-parent-with-absolute-positioning","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/lock-an-element-to-its-parent-with-absolute-positioning","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d781e367417b2b2512acc","block":"applied-visual-design","challengeType":0,"title":"Verrouiller un élément dans la fenêtre du navigateur avec un positionnement fixe","order":2,"superBlock":"responsive-web-design","dashedName":"lock-an-element-to-the-browser-window-with-fixed-positioning","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/lock-an-element-to-the-browser-window-with-fixed-positioning","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a3367417b2b2512ace","block":"applied-visual-design","challengeType":0,"title":"Pousser les éléments à gauche ou à droite avec la propriété float","order":2,"superBlock":"responsive-web-design","dashedName":"push-elements-left-or-right-with-the-float-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/push-elements-left-or-right-with-the-float-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a3367417b2b2512acf","block":"applied-visual-design","challengeType":0,"title":"Modifier la position des éléments superposés avec la propriété z-index","order":2,"superBlock":"responsive-web-design","dashedName":"change-the-position-of-overlapping-elements-with-the-z-index-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/change-the-position-of-overlapping-elements-with-the-z-index-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a3367417b2b2512ad0","block":"applied-visual-design","challengeType":0,"title":"Centrer un élément horizontalement à l'aide de la propriété margin","order":2,"superBlock":"responsive-web-design","dashedName":"center-an-element-horizontally-using-the-margin-property","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/center-an-element-horizontally-using-the-margin-property","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a3367417b2b2512ad1","block":"applied-visual-design","challengeType":0,"title":"Découvrez les couleurs complémentaires","order":2,"superBlock":"responsive-web-design","dashedName":"learn-about-complementary-colors","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/learn-about-complementary-colors","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a4367417b2b2512ad2","block":"applied-visual-design","challengeType":0,"title":"Découvrez les couleurs tertiaires","order":2,"superBlock":"responsive-web-design","dashedName":"learn-about-tertiary-colors","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/learn-about-tertiary-colors","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a4367417b2b2512ad3","block":"applied-visual-design","challengeType":0,"title":"Ajuster la couleur de divers éléments à des couleurs complémentaires","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-color-of-various-elements-to-complementary-colors","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-color-of-various-elements-to-complementary-colors","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a4367417b2b2512ad4","block":"applied-visual-design","challengeType":0,"title":"Ajuster la nuance d'une couleur","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-hue-of-a-color","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-hue-of-a-color","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a4367417b2b2512ad5","block":"applied-visual-design","challengeType":0,"title":"Ajuster la nuance d'une couleur","order":2,"superBlock":"responsive-web-design","dashedName":"adjust-the-tone-of-a-color","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/adjust-the-tone-of-a-color","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a5367417b2b2512ad6","block":"applied-visual-design","challengeType":0,"title":"Créer un dégradé linéaire en CSS","order":2,"superBlock":"responsive-web-design","dashedName":"create-a-gradual-css-linear-gradient","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-a-gradual-css-linear-gradient","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a5367417b2b2512ad7","block":"applied-visual-design","challengeType":0,"title":"Utilisez un dégradé linéaire CSS pour créer un élément rayé","order":2,"superBlock":"responsive-web-design","dashedName":"use-a-css-linear-gradient-to-create-a-striped-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-a-css-linear-gradient-to-create-a-striped-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a5367417b2b2512ad8","block":"applied-visual-design","challengeType":0,"title":"Créez de la texture en ajoutant un motif subtil comme image de fond","order":2,"superBlock":"responsive-web-design","dashedName":"create-texture-by-adding-a-subtle-pattern-as-a-background-image","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-texture-by-adding-a-subtle-pattern-as-a-background-image","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a5367417b2b2512ad9","block":"applied-visual-design","challengeType":0,"title":"Utilisez la propriété d'échelle de transformation CSS pour modifier la taille d'un élément","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-css-transform-scale-property-to-change-the-size-of-an-element","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-css-transform-scale-property-to-change-the-size-of-an-element","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a5367417b2b2512ada","block":"applied-visual-design","challengeType":0,"title":"Utilisez la propriété CSS Transform scale pour mettre à l'échelle un élément au survol de celui-ci.","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-css-transform-scale-property-to-scale-an-element-on-hover","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-css-transform-scale-property-to-scale-an-element-on-hover","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a6367417b2b2512adb","block":"applied-visual-design","challengeType":0,"title":"Utilisez la propriété de transformation CSS skewX pour incliner un élément le long de l'axe X.","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-css-transform-property-skewx-to-skew-an-element-along-the-x-axis","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-css-transform-property-skewx-to-skew-an-element-along-the-x-axis","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a6367417b2b2512adc","block":"applied-visual-design","challengeType":0,"title":"Utiliser la propriété de transformation CSS skewY pour incliner un élément le long de l'axe des Y","order":2,"superBlock":"responsive-web-design","dashedName":"use-the-css-transform-property-skewy-to-skew-an-element-along-the-y-axis","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-the-css-transform-property-skewy-to-skew-an-element-along-the-y-axis","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a6367417b2b2512add","block":"applied-visual-design","challengeType":0,"title":"Créer un graphique à l'aide de CSS","order":2,"superBlock":"responsive-web-design","dashedName":"create-a-graphic-using-css","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-a-graphic-using-css","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a6367417b2b2512ade","block":"applied-visual-design","challengeType":0,"title":"Créer une forme plus complexe à l'aide de CSS et HTML","order":2,"superBlock":"responsive-web-design","dashedName":"create-a-more-complex-shape-using-css-and-html","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-a-more-complex-shape-using-css-and-html","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a7367417b2b2512adf","block":"applied-visual-design","challengeType":0,"title":"Apprenez comment fonctionnent les propriétés CSS @keyframes et animation.","order":2,"superBlock":"responsive-web-design","dashedName":"learn-how-the-css-keyframes-and-animation-properties-work","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/learn-how-the-css-keyframes-and-animation-properties-work","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a7367417b2b2512ae0","block":"applied-visual-design","challengeType":0,"title":"Utiliser l'animation CSS pour modifier l'état de survol d'un bouton","order":2,"superBlock":"responsive-web-design","dashedName":"use-css-animation-to-change-the-hover-state-of-a-button","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-css-animation-to-change-the-hover-state-of-a-button","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"58a7a6ebf9a6318348e2d5aa","block":"applied-visual-design","challengeType":0,"title":"Modifier le mode de remplissage d'une animation","order":2,"superBlock":"responsive-web-design","dashedName":"modify-fill-mode-of-an-animation","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/modify-fill-mode-of-an-animation","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a7367417b2b2512ae1","block":"applied-visual-design","challengeType":0,"title":"Créer du mouvement à l'aide de l'animation CSS","order":2,"superBlock":"responsive-web-design","dashedName":"create-movement-using-css-animation","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-movement-using-css-animation","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a7367417b2b2512ae2","block":"applied-visual-design","challengeType":0,"title":"Créer une direction visuelle en faisant disparaître un élément de gauche à droite","order":2,"superBlock":"responsive-web-design","dashedName":"create-visual-direction-by-fading-an-element-from-left-to-right","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/create-visual-direction-by-fading-an-element-from-left-to-right","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a8367417b2b2512ae3","block":"applied-visual-design","challengeType":0,"title":"Animer des éléments de façon continue en utilisant un nombre infini d'animations","order":2,"superBlock":"responsive-web-design","dashedName":"animate-elements-continually-using-an-infinite-animation-count","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/animate-elements-continually-using-an-infinite-animation-count","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a8367417b2b2512ae4","block":"applied-visual-design","challengeType":0,"title":"Réaliser un battement de cœur CSS en utilisant un nombre infini d'animations","order":2,"superBlock":"responsive-web-design","dashedName":"make-a-css-heartbeat-using-an-infinite-animation-count","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/make-a-css-heartbeat-using-an-infinite-animation-count","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a8367417b2b2512ae5","block":"applied-visual-design","challengeType":0,"title":"Animer les éléments à des taux variables","order":2,"superBlock":"responsive-web-design","dashedName":"animate-elements-at-variable-rates","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/animate-elements-at-variable-rates","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a8367417b2b2512ae6","block":"applied-visual-design","challengeType":0,"title":"Animer plusieurs éléments à des taux variables","order":2,"superBlock":"responsive-web-design","dashedName":"animate-multiple-elements-at-variable-rates","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/animate-multiple-elements-at-variable-rates","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a8367417b2b2512ae7","block":"applied-visual-design","challengeType":0,"title":"Modifier le timing de l'animation avec des mots-clés","order":2,"superBlock":"responsive-web-design","dashedName":"change-animation-timing-with-keywords","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/change-animation-timing-with-keywords","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a9367417b2b2512ae8","block":"applied-visual-design","challengeType":0,"title":"Apprendre comment fonctionnent les courbes de Bézier","order":2,"superBlock":"responsive-web-design","dashedName":"learn-how-bezier-curves-work","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/learn-how-bezier-curves-work","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a9367417b2b2512ae9","block":"applied-visual-design","challengeType":0,"title":"Utiliser une courbe de Bézier pour déplacer un graphique","order":2,"superBlock":"responsive-web-design","dashedName":"use-a-bezier-curve-to-move-a-graphic","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/use-a-bezier-curve-to-move-a-graphic","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d78a9367417b2b2512aea","block":"applied-visual-design","challengeType":0,"title":"Rendre les mouvements plus naturels en utilisant une courbe de Bézier","order":2,"superBlock":"responsive-web-design","dashedName":"make-motion-more-natural-using-a-bezier-curve","fields":{"slug":"/learn/responsive-web-design/applied-visual-design/make-motion-more-natural-using-a-bezier-curve","blockName":"Applied Visual Design"}}}},{"node":{"challenge":{"id":"587d774c367417b2b2512a9c","block":"applied-accessibility","challengeType":0,"title":"Ajouter une alternative textuelle aux images pour l'accessibilité des malvoyants","order":3,"superBlock":"responsive-web-design","dashedName":"add-a-text-alternative-to-images-for-visually-impaired-accessibility","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d774c367417b2b2512a9d","block":"applied-accessibility","challengeType":0,"title":"Savoir quand l'attribut Alt doit être laissé vide","order":3,"superBlock":"responsive-web-design","dashedName":"know-when-alt-text-should-be-left-blank","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d774d367417b2b2512a9e","block":"applied-accessibility","challengeType":0,"title":"Utiliser des titres pour montrer les relations hiérarchiques du contenu","order":3,"superBlock":"responsive-web-design","dashedName":"use-headings-to-show-hierarchical-relationships-of-content","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/use-headings-to-show-hierarchical-relationships-of-content","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d774e367417b2b2512a9f","block":"applied-accessibility","challengeType":0,"title":"Accéder directement au contenu à l'aide de l'élément main","order":3,"superBlock":"responsive-web-design","dashedName":"jump-straight-to-the-content-using-the-main-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d774e367417b2b2512aa0","block":"applied-accessibility","challengeType":0,"title":"Envelopper le contenu dans l'élément d'article","order":3,"superBlock":"responsive-web-design","dashedName":"wrap-content-in-the-article-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/wrap-content-in-the-article-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7787367417b2b2512aa1","block":"applied-accessibility","challengeType":0,"title":"Facilitez la navigation des lecteurs d'écran grâce à la balise header","order":3,"superBlock":"responsive-web-design","dashedName":"make-screen-reader-navigation-easier-with-the-header-landmark","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7788367417b2b2512aa2","block":"applied-accessibility","challengeType":0,"title":"Facilitez la navigation avec un lecteur d'écran grâce à la balise nav.","order":3,"superBlock":"responsive-web-design","dashedName":"make-screen-reader-navigation-easier-with-the-nav-landmark","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7788367417b2b2512aa3","block":"applied-accessibility","challengeType":0,"title":"Facilitez la navigation des lecteurs d'écran avec la balise footer","order":3,"superBlock":"responsive-web-design","dashedName":"make-screen-reader-navigation-easier-with-the-footer-landmark","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7789367417b2b2512aa4","block":"applied-accessibility","challengeType":0,"title":"Améliorer l'accessibilité du contenu audio avec l'élément audio","order":3,"superBlock":"responsive-web-design","dashedName":"improve-accessibility-of-audio-content-with-the-audio-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778a367417b2b2512aa5","block":"applied-accessibility","challengeType":0,"title":"Améliorer l'accessibilité des figures avec l'élément figure","order":3,"superBlock":"responsive-web-design","dashedName":"improve-chart-accessibility-with-the-figure-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778a367417b2b2512aa6","block":"applied-accessibility","challengeType":0,"title":"Améliorer l'accessibilité des champs de formulaire avec l'élément label","order":3,"superBlock":"responsive-web-design","dashedName":"improve-form-field-accessibility-with-the-label-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778b367417b2b2512aa7","block":"applied-accessibility","challengeType":0,"title":"Envelopper les boutons radio dans un élément fieldset pour une meilleure accessibilité","order":3,"superBlock":"responsive-web-design","dashedName":"wrap-radio-buttons-in-a-fieldset-element-for-better-accessibility","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/wrap-radio-buttons-in-a-fieldset-element-for-better-accessibility","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778b367417b2b2512aa8","block":"applied-accessibility","challengeType":0,"title":"Ajouter un sélecteur de dates accessible","order":3,"superBlock":"responsive-web-design","dashedName":"add-an-accessible-date-picker","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/add-an-accessible-date-picker","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778c367417b2b2512aa9","block":"applied-accessibility","challengeType":0,"title":"Normaliser les temps avec l'attribut datetime de HTML5","order":3,"superBlock":"responsive-web-design","dashedName":"standardize-times-with-the-html5-datetime-attribute","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/standardize-times-with-the-html5-datetime-attribute","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778d367417b2b2512aaa","block":"applied-accessibility","challengeType":0,"title":"Rendre les éléments uniquement visibles pour un lecteur d'écran à l'aide d'un CSS personnalisé","order":3,"superBlock":"responsive-web-design","dashedName":"make-elements-only-visible-to-a-screen-reader-by-using-custom-css","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778e367417b2b2512aab","block":"applied-accessibility","challengeType":0,"title":"Améliorer la lisibilité grâce à un texte à fort contraste","order":3,"superBlock":"responsive-web-design","dashedName":"improve-readability-with-high-contrast-text","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778f367417b2b2512aac","block":"applied-accessibility","challengeType":0,"title":"Évitez les problèmes de daltonisme en utilisant un contraste suffisant","order":3,"superBlock":"responsive-web-design","dashedName":"avoid-colorblindness-issues-by-using-sufficient-contrast","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778f367417b2b2512aad","block":"applied-accessibility","challengeType":0,"title":"Éviter les problèmes de daltonisme en choisissant soigneusement les couleurs qui véhiculent les informations","order":3,"superBlock":"responsive-web-design","dashedName":"avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d778f367417b2b2512aae","block":"applied-accessibility","challengeType":0,"title":"Donnez du sens aux liens en utilisant un texte de lien descriptif","order":3,"superBlock":"responsive-web-design","dashedName":"give-links-meaning-by-using-descriptive-link-text","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7790367417b2b2512aaf","block":"applied-accessibility","challengeType":0,"title":"Rendre les liens navigables avec les touches d'accès HTML","order":3,"superBlock":"responsive-web-design","dashedName":"make-links-navigable-with-html-access-keys","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7790367417b2b2512ab0","block":"applied-accessibility","challengeType":0,"title":"Utiliser tabindex pour ajouter le focus clavier à un élément","order":3,"superBlock":"responsive-web-design","dashedName":"use-tabindex-to-add-keyboard-focus-to-an-element","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/use-tabindex-to-add-keyboard-focus-to-an-element","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d7790367417b2b2512ab1","block":"applied-accessibility","challengeType":0,"title":"Utilisez tabindex pour spécifier l'ordre de la mise du focus du clavier pour plusieurs éléments","order":3,"superBlock":"responsive-web-design","dashedName":"use-tabindex-to-specify-the-order-of-keyboard-focus-for-several-elements","fields":{"slug":"/learn/responsive-web-design/applied-accessibility/use-tabindex-to-specify-the-order-of-keyboard-focus-for-several-elements","blockName":"Applied Accessibility"}}}},{"node":{"challenge":{"id":"587d78b0367417b2b2512b08","block":"responsive-web-design-principles","challengeType":0,"title":"Créer une requête média (media query)","order":4,"superBlock":"responsive-web-design","dashedName":"create-a-media-query","fields":{"slug":"/learn/responsive-web-design/responsive-web-design-principles/create-a-media-query","blockName":"Responsive Web Design Principles"}}}},{"node":{"challenge":{"id":"587d78b1367417b2b2512b09","block":"responsive-web-design-principles","challengeType":0,"title":"Rendre une image responsive","order":4,"superBlock":"responsive-web-design","dashedName":"make-an-image-responsive","fields":{"slug":"/learn/responsive-web-design/responsive-web-design-principles/make-an-image-responsive","blockName":"Responsive Web Design Principles"}}}},{"node":{"challenge":{"id":"587d78b1367417b2b2512b0a","block":"responsive-web-design-principles","challengeType":0,"title":"Utilisez une image Retina pour les écrans à plus haute résolution","order":4,"superBlock":"responsive-web-design","dashedName":"use-a-retina-image-for-higher-resolution-displays","fields":{"slug":"/learn/responsive-web-design/responsive-web-design-principles/use-a-retina-image-for-higher-resolution-displays","blockName":"Responsive Web Design Principles"}}}},{"node":{"challenge":{"id":"587d78b1367417b2b2512b0c","block":"responsive-web-design-principles","challengeType":0,"title":"Rendre la typographie responsive","order":4,"superBlock":"responsive-web-design","dashedName":"make-typography-responsive","fields":{"slug":"/learn/responsive-web-design/responsive-web-design-principles/make-typography-responsive","blockName":"Responsive Web Design Principles"}}}},{"node":{"challenge":{"id":"587d78ab367417b2b2512af0","block":"css-flexbox","challengeType":0,"title":"Utilisez display : flex pour positionner deux boîtes.","order":5,"superBlock":"responsive-web-design","dashedName":"use-display-flex-to-position-two-boxes","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-display-flex-to-position-two-boxes","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ab367417b2b2512af1","block":"css-flexbox","challengeType":0,"title":"Ajouter les superpouvoirs de Flex au Tweet embarqué","order":5,"superBlock":"responsive-web-design","dashedName":"add-flex-superpowers-to-the-tweet-embed","fields":{"slug":"/learn/responsive-web-design/css-flexbox/add-flex-superpowers-to-the-tweet-embed","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ab367417b2b2512af2","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-direction pour constituer une ligne","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-direction-property-to-make-a-row","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-direction-property-to-make-a-row","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ab367417b2b2512af3","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-direction pour créer des lignes dans le Tweet embarqué","order":5,"superBlock":"responsive-web-design","dashedName":"apply-the-flex-direction-property-to-create-rows-in-the-tweet-embed","fields":{"slug":"/learn/responsive-web-design/css-flexbox/apply-the-flex-direction-property-to-create-rows-in-the-tweet-embed","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ac367417b2b2512af4","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-direction pour créer une colonne","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-direction-property-to-make-a-column","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-direction-property-to-make-a-column","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ac367417b2b2512af5","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-direction pour créer une colonne dans le Tweet embarqué","order":5,"superBlock":"responsive-web-design","dashedName":"apply-the-flex-direction-property-to-create-a-column-in-the-tweet-embed","fields":{"slug":"/learn/responsive-web-design/css-flexbox/apply-the-flex-direction-property-to-create-a-column-in-the-tweet-embed","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ac367417b2b2512af6","block":"css-flexbox","challengeType":0,"title":"Aligner les éléments à l'aide de la propriété justify-content","order":5,"superBlock":"responsive-web-design","dashedName":"align-elements-using-the-justify-content-property","fields":{"slug":"/learn/responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ac367417b2b2512af7","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété justify-content dans le Tweet embarqué","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-justify-content-property-in-the-tweet-embed","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-justify-content-property-in-the-tweet-embed","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ad367417b2b2512af8","block":"css-flexbox","challengeType":0,"title":"Aligner les éléments à l'aide de la propriété align-items","order":5,"superBlock":"responsive-web-design","dashedName":"align-elements-using-the-align-items-property","fields":{"slug":"/learn/responsive-web-design/css-flexbox/align-elements-using-the-align-items-property","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ad367417b2b2512af9","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété align-items dans le Tweet embarqué","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-align-items-property-in-the-tweet-embed","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-align-items-property-in-the-tweet-embed","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ad367417b2b2512afa","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-wrap pour envelopper une ligne ou une colonne","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-wrap-property-to-wrap-a-row-or-column","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-wrap-property-to-wrap-a-row-or-column","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ad367417b2b2512afb","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-shrink pour rétrécir des éléments","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-shrink-property-to-shrink-items","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-shrink-property-to-shrink-items","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ae367417b2b2512afc","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété flex-grow pour étendre des éléments","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-grow-property-to-expand-items","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-grow-property-to-expand-items","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ae367417b2b2512afd","block":"css-flexbox","challengeType":0,"title":"Utiliser la propriété flex-basis pour définir la taille initiale d'un élément","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-basis-property-to-set-the-initial-size-of-an-item","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-basis-property-to-set-the-initial-size-of-an-item","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ae367417b2b2512afe","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété abrégée flex","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-flex-shorthand-property","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-flex-shorthand-property","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78ae367417b2b2512aff","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété order pour réorganiser les éléments","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-order-property-to-rearrange-items","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-order-property-to-rearrange-items","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"587d78af367417b2b2512b00","block":"css-flexbox","challengeType":0,"title":"Utilisez la propriété align-self","order":5,"superBlock":"responsive-web-design","dashedName":"use-the-align-self-property","fields":{"slug":"/learn/responsive-web-design/css-flexbox/use-the-align-self-property","blockName":"CSS Flexbox"}}}},{"node":{"challenge":{"id":"5a858944d96184f06fd60d61","block":"css-grid","challengeType":0,"title":"Créez votre première grille (Grid) CSS","order":6,"superBlock":"responsive-web-design","dashedName":"create-your-first-css-grid","fields":{"slug":"/learn/responsive-web-design/css-grid/create-your-first-css-grid","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036d038fddaf9a66b5d32","block":"css-grid","challengeType":0,"title":"Ajouter des colonnes avec grid-template-columns","order":6,"superBlock":"responsive-web-design","dashedName":"add-columns-with-grid-template-columns","fields":{"slug":"/learn/responsive-web-design/css-grid/add-columns-with-grid-template-columns","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036e138fddaf9a66b5d33","block":"css-grid","challengeType":0,"title":"Ajouter des lignes avec grid-template-rows","order":6,"superBlock":"responsive-web-design","dashedName":"add-rows-with-grid-template-rows","fields":{"slug":"/learn/responsive-web-design/css-grid/add-rows-with-grid-template-rows","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036ee38fddaf9a66b5d34","block":"css-grid","challengeType":0,"title":"Utilisez les unités de grille (Grid ) CSS pour modifier la taille des colonnes et des lignes","order":6,"superBlock":"responsive-web-design","dashedName":"use-css-grid-units-to-change-the-size-of-columns-and-rows","fields":{"slug":"/learn/responsive-web-design/css-grid/use-css-grid-units-to-change-the-size-of-columns-and-rows","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036ee38fddaf9a66b5d35","block":"css-grid","challengeType":0,"title":"Créer un écart de colonne à l'aide de grid-column-gap","order":6,"superBlock":"responsive-web-design","dashedName":"create-a-column-gap-using-grid-column-gap","fields":{"slug":"/learn/responsive-web-design/css-grid/create-a-column-gap-using-grid-column-gap","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036ee38fddaf9a66b5d36","block":"css-grid","challengeType":0,"title":"Créer un écart de ligne à l'aide de grid-row-gap","order":6,"superBlock":"responsive-web-design","dashedName":"create-a-row-gap-using-grid-row-gap","fields":{"slug":"/learn/responsive-web-design/css-grid/create-a-row-gap-using-grid-row-gap","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a9036ee38fddaf9a66b5d37","block":"css-grid","challengeType":0,"title":"Ajouter des espaces plus rapidement avec grid-gap","order":6,"superBlock":"responsive-web-design","dashedName":"add-gaps-faster-with-grid-gap","fields":{"slug":"/learn/responsive-web-design/css-grid/add-gaps-faster-with-grid-gap","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a90372638fddaf9a66b5d38","block":"css-grid","challengeType":0,"title":"Utilisez la grid-column pour contrôler l'espacement","order":6,"superBlock":"responsive-web-design","dashedName":"use-grid-column-to-control-spacing","fields":{"slug":"/learn/responsive-web-design/css-grid/use-grid-column-to-control-spacing","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a90373638fddaf9a66b5d39","block":"css-grid","challengeType":0,"title":"Utiliser le grid-row pour contrôler l'espacement","order":6,"superBlock":"responsive-web-design","dashedName":"use-grid-row-to-control-spacing","fields":{"slug":"/learn/responsive-web-design/css-grid/use-grid-row-to-control-spacing","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a90374338fddaf9a66b5d3a","block":"css-grid","challengeType":0,"title":"Aligner un élément horizontalement à l'aide de justify-self","order":6,"superBlock":"responsive-web-design","dashedName":"align-an-item-horizontally-using-justify-self","fields":{"slug":"/learn/responsive-web-design/css-grid/align-an-item-horizontally-using-justify-self","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a90375238fddaf9a66b5d3b","block":"css-grid","challengeType":0,"title":"Aligner un élément verticalement à l'aide de align-self","order":6,"superBlock":"responsive-web-design","dashedName":"align-an-item-vertically-using-align-self","fields":{"slug":"/learn/responsive-web-design/css-grid/align-an-item-vertically-using-align-self","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a90376038fddaf9a66b5d3c","block":"css-grid","challengeType":0,"title":"Aligner tous les éléments horizontalement à l'aide de justify-items","order":6,"superBlock":"responsive-web-design","dashedName":"align-all-items-horizontally-using-justify-items","fields":{"slug":"/learn/responsive-web-design/css-grid/align-all-items-horizontally-using-justify-items","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fdf869fb03452672e45b","block":"css-grid","challengeType":0,"title":"Aligner tous les éléments verticalement en utilisant align-items","order":6,"superBlock":"responsive-web-design","dashedName":"align-all-items-vertically-using-align-items","fields":{"slug":"/learn/responsive-web-design/css-grid/align-all-items-vertically-using-align-items","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe0569fb03452672e45c","block":"css-grid","challengeType":0,"title":"Diviser la grille (Grid) en un modèle de zone","order":6,"superBlock":"responsive-web-design","dashedName":"divide-the-grid-into-an-area-template","fields":{"slug":"/learn/responsive-web-design/css-grid/divide-the-grid-into-an-area-template","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe1369fb03452672e45d","block":"css-grid","challengeType":0,"title":"Placer des éléments dans des grilles à l'aide de la propriété grid-area","order":6,"superBlock":"responsive-web-design","dashedName":"place-items-in-grid-areas-using-the-grid-area-property","fields":{"slug":"/learn/responsive-web-design/css-grid/place-items-in-grid-areas-using-the-grid-area-property","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe2669fb03452672e45e","block":"css-grid","challengeType":0,"title":"Utiliser grid-area sans créer de modèle de zones","order":6,"superBlock":"responsive-web-design","dashedName":"use-grid-area-without-creating-an-areas-template","fields":{"slug":"/learn/responsive-web-design/css-grid/use-grid-area-without-creating-an-areas-template","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe3669fb03452672e45f","block":"css-grid","challengeType":0,"title":"Réduire les répétitions à l'aide de la fonction repeat","order":6,"superBlock":"responsive-web-design","dashedName":"reduce-repetition-using-the-repeat-function","fields":{"slug":"/learn/responsive-web-design/css-grid/reduce-repetition-using-the-repeat-function","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe4469fb03452672e460","block":"css-grid","challengeType":0,"title":"Limiter la taille des éléments en utilisant la fonction minmax","order":6,"superBlock":"responsive-web-design","dashedName":"limit-item-size-using-the-minmax-function","fields":{"slug":"/learn/responsive-web-design/css-grid/limit-item-size-using-the-minmax-function","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe5469fb03452672e461","block":"css-grid","challengeType":0,"title":"Créer des mises en page flexibles en utilisant le remplissage automatique","order":6,"superBlock":"responsive-web-design","dashedName":"create-flexible-layouts-using-auto-fill","fields":{"slug":"/learn/responsive-web-design/css-grid/create-flexible-layouts-using-auto-fill","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe6269fb03452672e462","block":"css-grid","challengeType":0,"title":"Créer des mises en page flexibles à l'aide d'auto-fit","order":6,"superBlock":"responsive-web-design","dashedName":"create-flexible-layouts-using-auto-fit","fields":{"slug":"/learn/responsive-web-design/css-grid/create-flexible-layouts-using-auto-fit","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe7769fb03452672e463","block":"css-grid","challengeType":0,"title":"Utilisez les requêtes multimédia pour créer des mises en page réactives","order":6,"superBlock":"responsive-web-design","dashedName":"use-media-queries-to-create-responsive-layouts","fields":{"slug":"/learn/responsive-web-design/css-grid/use-media-queries-to-create-responsive-layouts","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"5a94fe8569fb03452672e464","block":"css-grid","challengeType":0,"title":"Créer des grilles (Grids) dans des grilles (Grids)","order":6,"superBlock":"responsive-web-design","dashedName":"create-grids-within-grids","fields":{"slug":"/learn/responsive-web-design/css-grid/create-grids-within-grids","blockName":"CSS Grid"}}}},{"node":{"challenge":{"id":"bd7123c9c441eddfaeb4bdef","block":"basic-javascript","challengeType":1,"title":"Commentare il codice JavaScript ABEL","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comment-your-javascript-code","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comment-your-javascript-code","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c443eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Dichiarare le variabili in JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"declare-javascript-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244a8","block":"basic-javascript","challengeType":1,"title":"Memorizzare valori con l'operatore di assegnazione","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"storing-values-with-the-assignment-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5ee127a03c3b35dd45426493","block":"basic-javascript","challengeType":1,"title":"Assegnare il valore di una variabile ad un'altra","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"assigning-the-value-of-one-variable-to-another","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/assigning-the-value-of-one-variable-to-another","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244a9","block":"basic-javascript","challengeType":1,"title":"Inizializzare le variabili con l'operatore di assegnazione","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"initializing-variables-with-the-assignment-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/initializing-variables-with-the-assignment-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c444eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Dichiarare variabili stringa","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"declare-string-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244aa","block":"basic-javascript","challengeType":1,"title":"Comprendere le variabili non inizializzate","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-uninitialized-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ab","block":"basic-javascript","challengeType":1,"title":"Comprendere la distinzione tra maiuscole e minuscole nelle variabili","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-case-sensitivity-in-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-case-sensitivity-in-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b87367417b2b2512b3f","block":"basic-javascript","challengeType":1,"title":"Esplorare le differenze tra le parole chiave var e let","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"explore-differences-between-the-var-and-let-keywords","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/explore-differences-between-the-var-and-let-keywords","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b87367417b2b2512b41","block":"basic-javascript","challengeType":1,"title":"Dichiarare una variabile di sola lettura con la parola chiave const","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"declare-a-read-only-variable-with-the-const-keyword","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb3bdef","block":"basic-javascript","challengeType":1,"title":"Sommare due numeri con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-two-numbers-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/add-two-numbers-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb4bdef","block":"basic-javascript","challengeType":1,"title":"Sottrarre un numero da un altro con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"subtract-one-number-from-another-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1231c1c11feddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Moltiplicare due numeri con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"multiply-two-numbers-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-numbers-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb6bdef","block":"basic-javascript","challengeType":1,"title":"Dividere un numero per un altro con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"divide-one-number-by-another-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/divide-one-number-by-another-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ac","block":"basic-javascript","challengeType":1,"title":"Incrementare un numero con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"increment-a-number-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/increment-a-number-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ad","block":"basic-javascript","challengeType":1,"title":"Decrementare un numero con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"decrement-a-number-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/decrement-a-number-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1391c1c11feddfaeb4bdef","block":"basic-javascript","challengeType":1,"title":"Creare numeri decimali con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-decimal-numbers-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/create-decimal-numbers-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7993c9c69feddfaeb7bdef","block":"basic-javascript","challengeType":1,"title":"Moltiplicare due decimali con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"multiply-two-decimals-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-decimals-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7993c9ca9feddfaeb7bdef","block":"basic-javascript","challengeType":1,"title":"Dividere un decimale per un altro con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"divide-one-decimal-by-another-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ae","block":"basic-javascript","challengeType":1,"title":"Trovare un resto in JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"finding-a-remainder-in-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244af","block":"basic-javascript","challengeType":1,"title":"Assegnazione composta con addizione aumentata","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-addition","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-addition","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b0","block":"basic-javascript","challengeType":1,"title":"Assegnazione composta con sottrazione aumentata","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-subtraction","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-subtraction","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b1","block":"basic-javascript","challengeType":1,"title":"Assegnazione composta con moltiplicazione aumentata","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-multiplication","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-multiplication","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b2","block":"basic-javascript","challengeType":1,"title":"Assegnazione composta con divisione aumentata","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-division","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-division","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b5","block":"basic-javascript","challengeType":1,"title":"Fare l'escaping delle virgolette nelle stringhe","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"escaping-literal-quotes-in-strings","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b4","block":"basic-javascript","challengeType":1,"title":"Definire le stringhe con virgolette singole","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"quoting-strings-with-single-quotes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b6","block":"basic-javascript","challengeType":1,"title":"Sequenze di escape nelle stringhe","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"escape-sequences-in-strings","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b7","block":"basic-javascript","challengeType":1,"title":"Concatenare le stringhe con l'operatore +","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"concatenating-strings-with-plus-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-plus-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b8","block":"basic-javascript","challengeType":1,"title":"Concatenare le stringhe con l'operatore +=","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"concatenating-strings-with-the-plus-equals-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-the-plus-equals-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b9","block":"basic-javascript","challengeType":1,"title":"Costruire stringhe con le variabili","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"constructing-strings-with-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/constructing-strings-with-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ed","block":"basic-javascript","challengeType":1,"title":"Aggiungere variabili alle stringhe","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"appending-variables-to-strings","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/appending-variables-to-strings","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c448eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Trovare la lunghezza di una stringa","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-the-length-of-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c549eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Usare la notazione a parentesi per trovare il primo carattere in una stringa","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-first-character-in-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-first-character-in-a-string","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ba","block":"basic-javascript","challengeType":1,"title":"Comprendere l'immutabilità delle stringhe","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-string-immutability","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understand-string-immutability","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c450eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Usare la notazione parentesi per trovare l'n-esimo carattere in una stringa","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-nth-character-in-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-character-in-a-string","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c451eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Usare la notazione a parentesi per trovare l'ultimo carattere in una stringa","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-last-character-in-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-last-character-in-a-string","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c452eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Usare la notazione parentesi per trovare l'n-ultimo carattere dalla fine di una stringa","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-nth-to-last-character-in-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-to-last-character-in-a-string","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244bb","block":"basic-javascript","challengeType":1,"title":"Parole mancanti","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"word-blanks","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/word-blanks","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7993c9c69feddfaeb8bdef","block":"basic-javascript","challengeType":1,"title":"Memorizzare più valori in una variabile utilizzando gli array in JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"store-multiple-values-in-one-variable-using-javascript-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/store-multiple-values-in-one-variable-using-javascript-arrays","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb7bdef","block":"basic-javascript","challengeType":1,"title":"Nidificare un array in un altro array","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"nest-one-array-within-another-array","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392ca","block":"basic-javascript","challengeType":1,"title":"Accedere ai dati degli Array con gli indici","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-array-data-with-indexes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb8bdef","block":"basic-javascript","challengeType":1,"title":"Modificare i dati dell'array con gli indici","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"modify-array-data-with-indexes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/modify-array-data-with-indexes","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56592a60ddddeae28f7aa8e1","block":"basic-javascript","challengeType":1,"title":"Accedere agli array multidimensionali con gli indici","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-multi-dimensional-arrays-with-indexes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/access-multi-dimensional-arrays-with-indexes","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392cb","block":"basic-javascript","challengeType":1,"title":"Manipolare gli array con push()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-push","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-push","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392cc","block":"basic-javascript","challengeType":1,"title":"Manipolare gli array con pop()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-pop","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-pop","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392cd","block":"basic-javascript","challengeType":1,"title":"Manipolare gli array con shift()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-shift","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-shift","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392ce","block":"basic-javascript","challengeType":1,"title":"Manipolare gli array con unshift()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-unshift","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-unshift","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244bc","block":"basic-javascript","challengeType":1,"title":"Lista della spesa","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"shopping-list","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/shopping-list","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392cf","block":"basic-javascript","challengeType":1,"title":"Scrivere JavaScript riutilizzabile con le funzioni","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-reusable-javascript-with-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244bd","block":"basic-javascript","challengeType":1,"title":"Passare i valori alle funzioni con gli argomenti","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"passing-values-to-functions-with-arguments","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/passing-values-to-functions-with-arguments","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c2","block":"basic-javascript","challengeType":1,"title":"Restituire un valore da una funzione con Return","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-a-value-from-a-function-with-return","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/return-a-value-from-a-function-with-return","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244be","block":"basic-javascript","challengeType":1,"title":"Ambito di applicazione globale e funzioni","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"global-scope-and-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244bf","block":"basic-javascript","challengeType":1,"title":"Ambito locale e funzioni","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"local-scope-and-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c0","block":"basic-javascript","challengeType":1,"title":"Ambito globale e ambito locale nelle funzioni","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"global-vs--local-scope-in-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/global-vs--local-scope-in-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"598e8944f009e646fc236146","block":"basic-javascript","challengeType":1,"title":"Comprendere il valore undefined restituito da una funzione","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-undefined-value-returned-from-a-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c3","block":"basic-javascript","challengeType":1,"title":"Assegnazione con un valore restituito","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"assignment-with-a-returned-value","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/assignment-with-a-returned-value","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c6","block":"basic-javascript","challengeType":1,"title":"Stare in fila","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"stand-in-line","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/stand-in-line","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"bd7123c9c441eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Comprendere i valori booleani","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-boolean-values","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c12feddfaeb3bdef","block":"basic-javascript","challengeType":1,"title":"Usare la logica condizionale con le istruzioni If","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-conditional-logic-with-if-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-conditional-logic-with-if-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d0","block":"basic-javascript","challengeType":1,"title":"Confrontare con l'operatore di uguaglianza","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-equality-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-equality-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d1","block":"basic-javascript","challengeType":1,"title":"Confronto con l'operatore di uguaglianza stretta","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-strict-equality-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-equality-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"599a789b454f2bbd91a3ff4d","block":"basic-javascript","challengeType":1,"title":"Confrontare diversi valori","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"practice-comparing-different-values","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/practice-comparing-different-values","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d2","block":"basic-javascript","challengeType":1,"title":"Confrontare con l'operatore di disuguaglianza","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-inequality-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d3","block":"basic-javascript","challengeType":1,"title":"Confrontare con l'operatore di disuguaglianza stretta","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-strict-inequality-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-inequality-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d4","block":"basic-javascript","challengeType":1,"title":"Confrontare con l'operatore di maggioranza","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-greater-than-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d5","block":"basic-javascript","challengeType":1,"title":"Confronto con l'operatore di maggioranza o uguaglianza","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-greater-than-or-equal-to-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-or-equal-to-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d6","block":"basic-javascript","challengeType":1,"title":"Confronto con l'operatore di minoranza","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-less-than-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d7","block":"basic-javascript","challengeType":1,"title":"Confronto con l'operatore di minoranza o uguaglianza","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-less-than-or-equal-to-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-or-equal-to-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d8","block":"basic-javascript","challengeType":1,"title":"Confronti con l'operatore logico AND","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparisons-with-the-logical-and-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-and-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244d9","block":"basic-javascript","challengeType":1,"title":"Confronti con l'operatore Or logico","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparisons-with-the-logical-or-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244da","block":"basic-javascript","challengeType":1,"title":"Introduzione alle dichiarazioni Else","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"introducing-else-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/introducing-else-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244db","block":"basic-javascript","challengeType":1,"title":"Introduzione alle istruzioni Else If","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"introducing-else-if-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/introducing-else-if-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5690307fddb111c6084545d7","block":"basic-javascript","challengeType":1,"title":"Ordine logico nelle istruzioni If/Else","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"logical-order-in-if-else-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244dc","block":"basic-javascript","challengeType":1,"title":"Concatenare le istruzioni If Else","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"chaining-if-else-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/chaining-if-else-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5664820f61c48e80c9fa476c","block":"basic-javascript","challengeType":1,"title":"Giocare a golf","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"golf-code","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/golf-code","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244dd","block":"basic-javascript","challengeType":1,"title":"Selezionare tra molte opzioni con le istruzioni Switch","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"selecting-from-many-options-with-switch-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/selecting-from-many-options-with-switch-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244de","block":"basic-javascript","challengeType":1,"title":"Aggiungere un'opzione predefinita nelle dichiarazioni Switch","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"adding-a-default-option-in-switch-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/adding-a-default-option-in-switch-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244df","block":"basic-javascript","challengeType":1,"title":"Opzioni identiche multiple nelle dichiarazioni Switch","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"multiple-identical-options-in-switch-statements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/multiple-identical-options-in-switch-statements","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244e0","block":"basic-javascript","challengeType":1,"title":"Sostituire le catene di If Else con Switch","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"replacing-if-else-chains-with-switch","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/replacing-if-else-chains-with-switch","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5679ceb97cbaa8c51670a16b","block":"basic-javascript","challengeType":1,"title":"Restituire valori booleani dalle funzioni","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"returning-boolean-values-from-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c4","block":"basic-javascript","challengeType":1,"title":"Pattern di ritorno precoce per le funzioni","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-early-pattern-for-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"565bbe00e9cc8ac0725390f4","block":"basic-javascript","challengeType":1,"title":"Contare le carte","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"counting-cards","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/counting-cards","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392d0","block":"basic-javascript","challengeType":1,"title":"Costruire oggetti in JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"build-javascript-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c7","block":"basic-javascript","challengeType":1,"title":"Accedere alle proprietà dell'oggetto con la notazione a punti","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-object-properties-with-dot-notation","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-dot-notation","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c8","block":"basic-javascript","challengeType":1,"title":"Accedere alle proprietà dell'oggetto con la notazione a parentesi","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-object-properties-with-bracket-notation","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-bracket-notation","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244c9","block":"basic-javascript","challengeType":1,"title":"Accedere alle proprietà degli oggetti con le variabili","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-object-properties-with-variables","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-variables","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392d1","block":"basic-javascript","challengeType":1,"title":"Aggiornare le proprietà di un oggetto","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"updating-object-properties","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/updating-object-properties","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392d2","block":"basic-javascript","challengeType":1,"title":"Aggiungere nuove proprietà a un oggetto JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-new-properties-to-a-javascript-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/add-new-properties-to-a-javascript-object","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56bbb991ad1ed5201cd392d3","block":"basic-javascript","challengeType":1,"title":"Cancellare le proprietà da un oggetto in JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"delete-properties-from-a-javascript-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/delete-properties-from-a-javascript-object","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244ca","block":"basic-javascript","challengeType":1,"title":"Usare gli oggetti per fare ricerche","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"using-objects-for-lookups","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"567af2437cbaa8c51670a16c","block":"basic-javascript","challengeType":1,"title":"Verificare la presenza delle proprietà degli oggetti","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"testing-objects-for-properties","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/testing-objects-for-properties","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244cb","block":"basic-javascript","challengeType":1,"title":"Manipolare oggetti complessi","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulating-complex-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulating-complex-objects","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244cc","block":"basic-javascript","challengeType":1,"title":"Accedere ad oggetti nidificati","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-nested-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-objects","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244cd","block":"basic-javascript","challengeType":1,"title":"Accedere ad Array annidati","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-nested-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-arrays","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244cf","block":"basic-javascript","challengeType":1,"title":"Collezione di dischi","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"record-collection","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/record-collection","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb1bdef","block":"basic-javascript","challengeType":1,"title":"Iterare con il ciclo While in Javascript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-with-javascript-while-loops","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-while-loops","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Iterare con i cicli For in Javascript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-with-javascript-for-loops","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-for-loops","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56104e9e514f539506016a5c","block":"basic-javascript","challengeType":1,"title":"Iterare numeri dispari con un ciclo for","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-odd-numbers-with-a-for-loop","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-odd-numbers-with-a-for-loop","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56105e7b514f539506016a5e","block":"basic-javascript","challengeType":1,"title":"Contare all'indietro con un ciclo For","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"count-backwards-with-a-for-loop","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/count-backwards-with-a-for-loop","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5675e877dbd60be8ad28edc6","block":"basic-javascript","challengeType":1,"title":"Iterare attraverso un array con un ciclo For","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-through-an-array-with-a-for-loop","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244e1","block":"basic-javascript","challengeType":1,"title":"Annidare i cicli For","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"nesting-for-loops","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5a2efd662fb457916e1fe604","block":"basic-javascript","challengeType":1,"title":"Iterare con i cicli Do...While in Javascript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-with-javascript-do---while-loops","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do---while-loops","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5cfa3679138e7d9595b9d9d4","block":"basic-javascript","challengeType":1,"title":"Sostituire i cicli usando la ricorsione","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"replace-loops-using-recursion","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5688e62ea601b2482ff8422b","block":"basic-javascript","challengeType":1,"title":"Ricerca di un profilo","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"profile-lookup","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/profile-lookup","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c11feddfaeb9bdef","block":"basic-javascript","challengeType":1,"title":"Generare frazioni casuali con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-random-fractions-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-fractions-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c12feddfaeb1bdef","block":"basic-javascript","challengeType":1,"title":"Generare numeri interi casuali con JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-random-whole-numbers-with-javascript","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"cf1111c1c12feddfaeb2bdef","block":"basic-javascript","challengeType":1,"title":"Generare numeri interi casuali all'interno di un intervallo","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-random-whole-numbers-within-a-range","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-within-a-range","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b7e367417b2b2512b23","block":"basic-javascript","challengeType":1,"title":"Usare la funzione parseInt","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-parseint-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b7e367417b2b2512b22","block":"basic-javascript","challengeType":1,"title":"Usare la funzione ParseInt con una base","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-parseint-function-with-a-radix","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function-with-a-radix","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b7e367417b2b2512b24","block":"basic-javascript","challengeType":1,"title":"Usare l'operatore condizionale (ternario)","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-conditional-ternary-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-conditional-ternary-operator","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b7e367417b2b2512b21","block":"basic-javascript","challengeType":1,"title":"Usare operatori condizionali multipli (ternari)","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-multiple-conditional-ternary-operators","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5cd9a70215d3c4e65518328f","block":"basic-javascript","challengeType":1,"title":"Usare la ricorsione per creare un conto alla rovescia","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-recursion-to-create-a-countdown","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"5cc0bd7a49b71cb96132e54c","block":"basic-javascript","challengeType":1,"title":"Usare la ricorsione per creare un intervallo di numeri","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-recursion-to-create-a-range-of-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers","blockName":"Basic JavaScript"}}}},{"node":{"challenge":{"id":"587d7b87367417b2b2512b40","block":"es6","challengeType":1,"title":"Confrontare gli ambiti di applicazione delle parole chiave var e let","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compare-scopes-of-the-var-and-let-keywords","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b87367417b2b2512b42","block":"es6","challengeType":1,"title":"Mutare un array dichiarato con const","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"mutate-an-array-declared-with-const","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const","blockName":"ES6"}}}},{"node":{"challenge":{"id":"598f48a36c8c40764b4e52b3","block":"es6","challengeType":1,"title":"Prevenire la mutazione degli oggetti","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"prevent-object-mutation","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/prevent-object-mutation","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b87367417b2b2512b43","block":"es6","challengeType":1,"title":"Utilizzare le funzioni freccia per scrivere funzioni anonime concise","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-arrow-functions-to-write-concise-anonymous-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-arrow-functions-to-write-concise-anonymous-functions","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b88367417b2b2512b44","block":"es6","challengeType":1,"title":"Scrivere funzioni freccia con parametri","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-arrow-functions-with-parameters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/write-arrow-functions-with-parameters","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b88367417b2b2512b46","block":"es6","challengeType":1,"title":"Impostare parametri predefiniti per le tue funzioni","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"set-default-parameters-for-your-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/set-default-parameters-for-your-functions","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b88367417b2b2512b47","block":"es6","challengeType":1,"title":"Usare il parametro resto con gli argomenti delle funzioni","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-rest-parameter-with-function-parameters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-the-rest-parameter-with-function-parameters","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b89367417b2b2512b48","block":"es6","challengeType":1,"title":"Usare l'operatore di propagazione per analizzare gli array in-place","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-spread-operator-to-evaluate-arrays-in-place","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-the-spread-operator-to-evaluate-arrays-in-place","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cfa550e84205a357704ccb6","block":"es6","challengeType":1,"title":"Usare l'assegnazione destrutturante per estrarre valori dagli oggetti","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-extract-values-from-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-extract-values-from-objects","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b89367417b2b2512b49","block":"es6","challengeType":1,"title":"Usare l'assegnazione destrutturante per assegnare variabili dagli oggetti","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-assign-variables-from-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b89367417b2b2512b4a","block":"es6","challengeType":1,"title":"Usare l'assegnazione destrutturante per assegnare variabili da oggetti annidati","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-assign-variables-from-nested-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-nested-objects","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b89367417b2b2512b4b","block":"es6","challengeType":1,"title":"Usare l'assegnazione destrutturante per assegnare variabili dagli array","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-assign-variables-from-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-arrays","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8a367417b2b2512b4c","block":"es6","challengeType":1,"title":"Usare l'assegnazione destrutturante con il parametro di resto per riassegnare gli elementi dell'array","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8a367417b2b2512b4d","block":"es6","challengeType":1,"title":"Usare l'assegnazione destrutturante per passare un oggetto come parametro a una funzione","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-pass-an-object-as-a-functions-parameters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-pass-an-object-as-a-functions-parameters","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8a367417b2b2512b4e","block":"es6","challengeType":1,"title":"Creare stringhe usando i modelli letterali","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-strings-using-template-literals","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8a367417b2b2512b4f","block":"es6","challengeType":1,"title":"Scrivere dichiarazioni letterali di oggetti concise utilizzando scorciatoie sulle proprietà","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-concise-object-literal-declarations-using-object-property-shorthand","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-object-property-shorthand","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8b367417b2b2512b50","block":"es6","challengeType":1,"title":"Scrivere funzioni dichiarative concise con ES6","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-concise-declarative-functions-with-es6","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/write-concise-declarative-functions-with-es6","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8b367417b2b2512b53","block":"es6","challengeType":1,"title":"Usare la sintassi class per definire una funzione costruttore","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-class-syntax-to-define-a-constructor-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-class-syntax-to-define-a-constructor-function","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8c367417b2b2512b54","block":"es6","challengeType":1,"title":"Usare getter e setter per controllare l'accesso a un oggetto","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-getters-and-setters-to-control-access-to-an-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-getters-and-setters-to-control-access-to-an-object","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cddbfd622f1a59093ec611d","block":"es6","challengeType":6,"title":"Creare un Modulo","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-module-script","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-a-module-script","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8c367417b2b2512b56","block":"es6","challengeType":1,"title":"Usare export per condividere un blocco di codice","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-export-to-share-a-code-block","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-export-to-share-a-code-block","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8c367417b2b2512b55","block":"es6","challengeType":1,"title":"Riutilizzare codice JavaScript usando import","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reuse-javascript-code-using-import","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/reuse-javascript-code-using-import","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8c367417b2b2512b57","block":"es6","challengeType":1,"title":"Usare * per importare tutto da un file","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use--to-import-everything-from-a-file","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use--to-import-everything-from-a-file","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8c367417b2b2512b58","block":"es6","challengeType":1,"title":"Creare un'esportazione predefinita con export default","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-an-export-fallback-with-export-default","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-an-export-fallback-with-export-default","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7b8d367417b2b2512b59","block":"es6","challengeType":1,"title":"Importare un'esportazione predefinita","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"import-a-default-export","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/import-a-default-export","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cdafbb0291309899753167f","block":"es6","challengeType":1,"title":"Creare una promise in JavaScript","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-javascript-promise","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-a-javascript-promise","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cdafbc32913098997531680","block":"es6","challengeType":1,"title":"Completare una promise con resolve e reject","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"complete-a-promise-with-resolve-and-reject","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/complete-a-promise-with-resolve-and-reject","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cdafbd72913098997531681","block":"es6","challengeType":1,"title":"Gestire una promise mantenuta con then","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"handle-a-fulfilled-promise-with-then","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/handle-a-fulfilled-promise-with-then","blockName":"ES6"}}}},{"node":{"challenge":{"id":"5cdafbe72913098997531682","block":"es6","challengeType":1,"title":"Gestire una promise rifiutata con catch","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"handle-a-rejected-promise-with-catch","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/handle-a-rejected-promise-with-catch","blockName":"ES6"}}}},{"node":{"challenge":{"id":"587d7db3367417b2b2512b8e","block":"regular-expressions","challengeType":1,"title":"Usare il metodo test","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"using-the-test-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/using-the-test-method","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db3367417b2b2512b8f","block":"regular-expressions","challengeType":1,"title":"Riconoscere le stringhe letterali","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-literal-strings","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-literal-strings","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db4367417b2b2512b90","block":"regular-expressions","challengeType":1,"title":"Riconoscere una stringa letterale con diverse possibilità","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-a-literal-string-with-different-possibilities","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-a-literal-string-with-different-possibilities","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db4367417b2b2512b91","block":"regular-expressions","challengeType":1,"title":"Ignorare le maiuscole nelle corrispondenze","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"ignore-case-while-matching","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/ignore-case-while-matching","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db4367417b2b2512b92","block":"regular-expressions","challengeType":1,"title":"Estrarre le corrispondenze","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"extract-matches","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/extract-matches","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db4367417b2b2512b93","block":"regular-expressions","challengeType":1,"title":"Trovare altre corrispondenze oltre alla prima","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-more-than-the-first-match","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/find-more-than-the-first-match","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db5367417b2b2512b94","block":"regular-expressions","challengeType":1,"title":"Riconoscere qualunque cosa con la wildcard punto","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-anything-with-wildcard-period","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-anything-with-wildcard-period","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db5367417b2b2512b95","block":"regular-expressions","challengeType":1,"title":"Riconoscere singoli caratteri con diverse possibilità","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-single-character-with-multiple-possibilities","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db5367417b2b2512b96","block":"regular-expressions","challengeType":1,"title":"Riconoscere le lettere dell'alfabeto","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-letters-of-the-alphabet","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-letters-of-the-alphabet","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db5367417b2b2512b97","block":"regular-expressions","challengeType":1,"title":"Riconoscere numeri e lettere dell'alfabeto","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-numbers-and-letters-of-the-alphabet","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-numbers-and-letters-of-the-alphabet","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db6367417b2b2512b98","block":"regular-expressions","challengeType":1,"title":"Riconoscere singoli caratteri non specificati","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-single-characters-not-specified","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-single-characters-not-specified","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db6367417b2b2512b99","block":"regular-expressions","challengeType":1,"title":"Riconoscere i caratteri che compaiono una o più volte","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-characters-that-occur-one-or-more-times","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-one-or-more-times","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db6367417b2b2512b9a","block":"regular-expressions","challengeType":1,"title":"Riconoscere i caratteri che compaiono zero o più volte","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-characters-that-occur-zero-or-more-times","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-zero-or-more-times","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db6367417b2b2512b9b","block":"regular-expressions","challengeType":1,"title":"Trovare caratteri con la corrispondenza lazy","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-characters-with-lazy-matching","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/find-characters-with-lazy-matching","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db7367417b2b2512b9c","block":"regular-expressions","challengeType":1,"title":"Trovare uno o più criminali in una caccia","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-one-or-more-criminals-in-a-hunt","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db7367417b2b2512b9d","block":"regular-expressions","challengeType":1,"title":"Riconoscere i pattern di inizio stringa","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-beginning-string-patterns","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-beginning-string-patterns","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db7367417b2b2512b9e","block":"regular-expressions","challengeType":1,"title":"Riconoscere i pattern di fine stringa","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-ending-string-patterns","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-ending-string-patterns","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db7367417b2b2512b9f","block":"regular-expressions","challengeType":1,"title":"Riconoscere tutte le lettere e i numeri","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-all-letters-and-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db8367417b2b2512ba0","block":"regular-expressions","challengeType":1,"title":"Riconoscere tutto tranne le lettere e i numeri","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-everything-but-letters-and-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-everything-but-letters-and-numbers","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"5d712346c441eddfaeb5bdef","block":"regular-expressions","challengeType":1,"title":"Riconoscere tutti i numeri","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-all-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-numbers","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db8367417b2b2512ba1","block":"regular-expressions","challengeType":1,"title":"Riconoscere tutti i caratteri non numerici","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-all-non-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-non-numbers","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db8367417b2b2512ba2","block":"regular-expressions","challengeType":1,"title":"Restringere gli username possibili","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"restrict-possible-usernames","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/restrict-possible-usernames","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db8367417b2b2512ba3","block":"regular-expressions","challengeType":1,"title":"Riconoscere gli spazi bianchi","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-whitespace","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-whitespace","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db9367417b2b2512ba4","block":"regular-expressions","challengeType":1,"title":"Riconoscere i caratteri diversi dagli spazi","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-non-whitespace-characters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-non-whitespace-characters","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db9367417b2b2512ba5","block":"regular-expressions","challengeType":1,"title":"Specificare il numero superiore e inferiore di corrispondenze","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"specify-upper-and-lower-number-of-matches","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-upper-and-lower-number-of-matches","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db9367417b2b2512ba6","block":"regular-expressions","challengeType":1,"title":"Specificare solo il numero inferiore di corrispondenze","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"specify-only-the-lower-number-of-matches","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-only-the-lower-number-of-matches","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7db9367417b2b2512ba7","block":"regular-expressions","challengeType":1,"title":"Specificare il numero esatto di corrispondenze","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"specify-exact-number-of-matches","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-exact-number-of-matches","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7dba367417b2b2512ba8","block":"regular-expressions","challengeType":1,"title":"Riconoscere tutto o niente","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-for-all-or-none","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/check-for-all-or-none","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7dba367417b2b2512ba9","block":"regular-expressions","challengeType":1,"title":"Lookahead positivi e negativi","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"positive-and-negative-lookahead","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/positive-and-negative-lookahead","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"5c3dda8b4d8df89bea71600f","block":"regular-expressions","challengeType":1,"title":"Riconoscere gruppi misti di caratteri","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-for-mixed-grouping-of-characters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/check-for-mixed-grouping-of-characters","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7dbb367417b2b2512baa","block":"regular-expressions","challengeType":1,"title":"Riutilizzare i pattern usando i gruppi di cattura","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reuse-patterns-using-capture-groups","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7dbb367417b2b2512bab","block":"regular-expressions","challengeType":1,"title":"Usare i gruppi di cattura per cercare e sostituire","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-capture-groups-to-search-and-replace","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/use-capture-groups-to-search-and-replace","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7dbb367417b2b2512bac","block":"regular-expressions","challengeType":1,"title":"Rimuovere gli spazi iniziali e finali","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-whitespace-from-start-and-end","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/remove-whitespace-from-start-and-end","blockName":"Regular Expressions"}}}},{"node":{"challenge":{"id":"587d7b83367417b2b2512b33","block":"debugging","challengeType":1,"title":"Usare la console JavaScript per controllare il valore di una variabile","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-javascript-console-to-check-the-value-of-a-variable","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/use-the-javascript-console-to-check-the-value-of-a-variable","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b83367417b2b2512b37","block":"debugging","challengeType":1,"title":"Comprendere le differenze tra la console di freeCodeCamp e quella del Browser","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-the-differences-between-the-freecodecamp-and-browser-console","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/understanding-the-differences-between-the-freecodecamp-and-browser-console","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b84367417b2b2512b34","block":"debugging","challengeType":1,"title":"Usare typeof per controllare il tipo di una variabile","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-typeof-to-check-the-type-of-a-variable","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/use-typeof-to-check-the-type-of-a-variable","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b84367417b2b2512b35","block":"debugging","challengeType":1,"title":"Scovare i nomi di funzioni e variabili scritti male","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-misspelled-variable-and-function-names","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-misspelled-variable-and-function-names","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b84367417b2b2512b36","block":"debugging","challengeType":1,"title":"Scovare parentesi tonde, quadre, graffe e virgolette rimaste aperte","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-unclosed-parentheses-brackets-braces-and-quotes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-unclosed-parentheses-brackets-braces-and-quotes","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b84367417b2b2512b37","block":"debugging","challengeType":1,"title":"Scovare l'uso misto di virgolette singole e doppie","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-mixed-usage-of-single-and-double-quotes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-mixed-usage-of-single-and-double-quotes","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b85367417b2b2512b38","block":"debugging","challengeType":1,"title":"Intercettare l'uso dell'operatore di assegnazione anziché dell'operatore di uguaglianza","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-use-of-assignment-operator-instead-of-equality-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-use-of-assignment-operator-instead-of-equality-operator","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b85367417b2b2512b39","block":"debugging","challengeType":1,"title":"Scoprire la mancanza di parentesi aperte o chiuse dopo la chiamata di una funzione","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-missing-open-and-closing-parenthesis-after-a-function-call","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-missing-open-and-closing-parenthesis-after-a-function-call","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b85367417b2b2512b3a","block":"debugging","challengeType":1,"title":"Scovare argomenti passati nell'ordine sbagliato quando si chiama una funzione","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-arguments-passed-in-the-wrong-order-when-calling-a-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-arguments-passed-in-the-wrong-order-when-calling-a-function","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b86367417b2b2512b3b","block":"debugging","challengeType":1,"title":"Trovare gli errori \"fuori di uno\" nell'indicizzazione","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-off-by-one-errors-when-using-indexing","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-off-by-one-errors-when-using-indexing","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b86367417b2b2512b3c","block":"debugging","challengeType":1,"title":"Usare cautela quando reinizializzi delle variabili all'interno di un ciclo","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-caution-when-reinitializing-variables-inside-a-loop","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/use-caution-when-reinitializing-variables-inside-a-loop","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b86367417b2b2512b3d","block":"debugging","challengeType":1,"title":"Impedire cicli infiniti con una condizione di chiusura valida","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"prevent-infinite-loops-with-a-valid-terminal-condition","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/prevent-infinite-loops-with-a-valid-terminal-condition","blockName":"Debugging"}}}},{"node":{"challenge":{"id":"587d7b7e367417b2b2512b20","block":"basic-data-structures","challengeType":1,"title":"Usare un array per memorizzare una collezione di dati","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-an-array-to-store-a-collection-of-data","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/use-an-array-to-store-a-collection-of-data","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"5a661e0f1068aca922b3ef17","block":"basic-data-structures","challengeType":1,"title":"Accedere ai contenuti dell'array usando la notazione a parentesi","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-an-arrays-contents-using-bracket-notation","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/access-an-arrays-contents-using-bracket-notation","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d78b2367417b2b2512b0e","block":"basic-data-structures","challengeType":1,"title":"Aggiungere elementi ad un array con push() e unshift()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-items-to-an-array-with-push-and-unshift","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-items-to-an-array-with-push-and-unshift","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d78b2367417b2b2512b0f","block":"basic-data-structures","challengeType":1,"title":"Rimuovere elementi da un array con pop() e shift()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-items-from-an-array-with-pop-and-shift","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/remove-items-from-an-array-with-pop-and-shift","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d78b2367417b2b2512b10","block":"basic-data-structures","challengeType":1,"title":"Rimuovere elementi usando splice()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-items-using-splice","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d78b3367417b2b2512b11","block":"basic-data-structures","challengeType":1,"title":"Aggiungere elementi usando splice()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-items-using-splice","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-items-using-splice","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7a367417b2b2512b12","block":"basic-data-structures","challengeType":1,"title":"Copiare elementi degli array usando slice()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"copy-array-items-using-slice","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/copy-array-items-using-slice","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7b367417b2b2512b13","block":"basic-data-structures","challengeType":1,"title":"Copiare un array con l'operatore di propagazione","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"copy-an-array-with-the-spread-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/copy-an-array-with-the-spread-operator","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7b367417b2b2512b17","block":"basic-data-structures","challengeType":1,"title":"Combinare gli array con l'operatore di propagazione","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"combine-arrays-with-the-spread-operator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/combine-arrays-with-the-spread-operator","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7b367417b2b2512b14","block":"basic-data-structures","challengeType":1,"title":"Verificare la presenza di un elemento con indexOf()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-for-the-presence-of-an-element-with-indexof","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7b367417b2b2512b15","block":"basic-data-structures","challengeType":1,"title":"Iterare attraverso tutti gli oggetti di un array utilizzando i cicli for","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-through-all-an-arrays-items-using-for-loops","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-all-an-arrays-items-using-for-loops","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7b367417b2b2512b16","block":"basic-data-structures","challengeType":1,"title":"Creare array multi-dimensionali complessi","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-complex-multi-dimensional-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/create-complex-multi-dimensional-arrays","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7c367417b2b2512b18","block":"basic-data-structures","challengeType":1,"title":"Aggiungere coppie chiave-valore agli oggetti JavaScript","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-key-value-pairs-to-javascript-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-key-value-pairs-to-javascript-objects","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7c367417b2b2512b19","block":"basic-data-structures","challengeType":1,"title":"Modificare un oggetto annidato in un altro oggetto","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"modify-an-object-nested-within-an-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/modify-an-object-nested-within-an-object","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7c367417b2b2512b1a","block":"basic-data-structures","challengeType":1,"title":"Accedere ai nomi delle proprietà con la notazione a parentesi","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-property-names-with-bracket-notation","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/access-property-names-with-bracket-notation","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7c367417b2b2512b1b","block":"basic-data-structures","challengeType":1,"title":"Utilizzare la parola chiave delete per rimuovere proprietà da un oggetto","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-delete-keyword-to-remove-object-properties","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/use-the-delete-keyword-to-remove-object-properties","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7d367417b2b2512b1c","block":"basic-data-structures","challengeType":1,"title":"Verificare se un oggetto ha una proprietà","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-if-an-object-has-a-property","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/check-if-an-object-has-a-property","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7d367417b2b2512b1d","block":"basic-data-structures","challengeType":1,"title":"Iterare attraverso le chiavi di un oggetto con l'istruzione for...in","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-through-the-keys-of-an-object-with-a-for---in-statement","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-the-keys-of-an-object-with-a-for---in-statement","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7d367417b2b2512b1e","block":"basic-data-structures","challengeType":1,"title":"Creare l'array delle proprietà con Object.keys()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-an-array-of-all-object-keys-with-object-keys","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/generate-an-array-of-all-object-keys-with-object-keys","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"587d7b7d367417b2b2512b1f","block":"basic-data-structures","challengeType":1,"title":"Modificare un array memorizzato in un oggetto","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"modify-an-array-stored-in-an-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/modify-an-array-stored-in-an-object","blockName":"Basic Data Structures"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244b3","block":"basic-algorithm-scripting","challengeType":1,"title":"Convertire i gradi Celsius in Fahrenheit","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"convert-celsius-to-fahrenheit","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/convert-celsius-to-fahrenheit","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a202eed8fc186c8434cb6d61","block":"basic-algorithm-scripting","challengeType":5,"title":"Invertire una stringa","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reverse-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/reverse-a-string","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a302f7aae1aa3152a5b413bc","block":"basic-algorithm-scripting","challengeType":5,"title":"Fattoriale di un numero","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"factorialize-a-number","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/factorialize-a-number","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a26cbbe9ad8655a977e1ceb5","block":"basic-algorithm-scripting","challengeType":5,"title":"Trovare la parola più lunga in una stringa","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-the-longest-word-in-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/find-the-longest-word-in-a-string","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a789b3483989747d63b0e427","block":"basic-algorithm-scripting","challengeType":5,"title":"Restituire i numeri più grandi negli array","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-largest-numbers-in-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/return-largest-numbers-in-arrays","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"acda2fb1324d9b0fa741e6b5","block":"basic-algorithm-scripting","challengeType":5,"title":"Confermare la finale","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"confirm-the-ending","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/confirm-the-ending","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"afcc8d540bea9ea2669306b6","block":"basic-algorithm-scripting","challengeType":5,"title":"Ripetere una stringa Ripeti una stringa","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"repeat-a-string-repeat-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/repeat-a-string-repeat-a-string","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"ac6993d51946422351508a41","block":"basic-algorithm-scripting","challengeType":5,"title":"Troncare una stringa","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"truncate-a-string","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/truncate-a-string","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a6e40f1041b06c996f7b2406","block":"basic-algorithm-scripting","challengeType":5,"title":"Chi trova tiene","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"finders-keepers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/finders-keepers","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a77dbc43c33f39daa4429b4f","block":"basic-algorithm-scripting","challengeType":5,"title":"Boo who","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"boo-who","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/boo-who","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"ab6137d4e35944e21037b769","block":"basic-algorithm-scripting","challengeType":5,"title":"Scrivere in maiuscolo le iniziali di ogni parola","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"title-case-a-sentence","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/title-case-a-sentence","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"579e2a2c335b9d72dd32e05c","block":"basic-algorithm-scripting","challengeType":5,"title":"Taglia e incolla","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"slice-and-splice","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/slice-and-splice","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"adf08ec01beb4f99fc7a68f2","block":"basic-algorithm-scripting","challengeType":5,"title":"Falsy Bouncer","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"falsy-bouncer","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/falsy-bouncer","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a24c1a4622e3c05097f71d67","block":"basic-algorithm-scripting","challengeType":5,"title":"Qual è il mio posto","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"where-do-i-belong","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/where-do-i-belong","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"af2170cad53daa0770fabdea","block":"basic-algorithm-scripting","challengeType":5,"title":"Mutazioni","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"mutations","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/mutations","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a9bd25c716030ec90084d8a1","block":"basic-algorithm-scripting","challengeType":5,"title":"Chunky Monkey","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"chunky-monkey","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/chunky-monkey","blockName":"Basic Algorithm Scripting"}}}},{"node":{"challenge":{"id":"587d7dac367417b2b2512b73","block":"object-oriented-programming","challengeType":1,"title":"Creare un semplice oggetto JavaScript","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-basic-javascript-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/create-a-basic-javascript-object","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dac367417b2b2512b74","block":"object-oriented-programming","challengeType":1,"title":"Usare la notazione a punti per accedere alle proprietà di un oggetto","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-dot-notation-to-access-the-properties-of-an-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-dot-notation-to-access-the-properties-of-an-object","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dad367417b2b2512b75","block":"object-oriented-programming","challengeType":1,"title":"Creare un metodo per un oggetto","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-method-on-an-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/create-a-method-on-an-object","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dad367417b2b2512b76","block":"object-oriented-programming","challengeType":1,"title":"Rendere il codice più riutilizzabile con la parola chiave this","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"make-code-more-reusable-with-the-this-keyword","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/make-code-more-reusable-with-the-this-keyword","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dad367417b2b2512b77","block":"object-oriented-programming","challengeType":1,"title":"Definire una funzione costruttore","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"define-a-constructor-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/define-a-constructor-function","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dad367417b2b2512b78","block":"object-oriented-programming","challengeType":1,"title":"Usare un costruttore per creare oggetti","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-a-constructor-to-create-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-a-constructor-to-create-objects","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dae367417b2b2512b79","block":"object-oriented-programming","challengeType":1,"title":"Estendere i costruttori facendogli ricevere argomenti","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"extend-constructors-to-receive-arguments","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/extend-constructors-to-receive-arguments","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dae367417b2b2512b7a","block":"object-oriented-programming","challengeType":1,"title":"Verificare il costruttore di un oggetto con instanceof","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"verify-an-objects-constructor-with-instanceof","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/verify-an-objects-constructor-with-instanceof","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dae367417b2b2512b7b","block":"object-oriented-programming","challengeType":1,"title":"Comprendere le proprietà proprie","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-own-properties","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7dae367417b2b2512b7c","block":"object-oriented-programming","challengeType":1,"title":"Usare le proprietà di Prototype per ridurre il codice duplicato","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-prototype-properties-to-reduce-duplicate-code","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-prototype-properties-to-reduce-duplicate-code","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7daf367417b2b2512b7d","block":"object-oriented-programming","challengeType":1,"title":"Iterare fra tutte le proprietà","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-over-all-properties","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/iterate-over-all-properties","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7daf367417b2b2512b7e","block":"object-oriented-programming","challengeType":1,"title":"Comprendere la proprietà Costruttore","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-constructor-property","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-constructor-property","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7daf367417b2b2512b7f","block":"object-oriented-programming","challengeType":1,"title":"Cambiare il prototipo in un nuovo oggetto","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"change-the-prototype-to-a-new-object","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/change-the-prototype-to-a-new-object","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7daf367417b2b2512b80","block":"object-oriented-programming","challengeType":1,"title":"Impostare la proprietà Costruttore quando si cambia il prototipo","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remember-to-set-the-constructor-property-when-changing-the-prototype","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/remember-to-set-the-constructor-property-when-changing-the-prototype","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db0367417b2b2512b81","block":"object-oriented-programming","challengeType":1,"title":"Capire da dove viene il prototipo di un oggetto","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-where-an-objects-prototype-comes-from","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-where-an-objects-prototype-comes-from","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db0367417b2b2512b82","block":"object-oriented-programming","challengeType":1,"title":"Comprendere la catena dei prototipi","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-prototype-chain","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-prototype-chain","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db0367417b2b2512b83","block":"object-oriented-programming","challengeType":1,"title":"Usare l'ereditarietà per non ripeterti","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-inheritance-so-you-dont-repeat-yourself","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-inheritance-so-you-dont-repeat-yourself","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db0367417b2b2512b84","block":"object-oriented-programming","challengeType":1,"title":"Ereditare comportamenti da un Supertipo","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"inherit-behaviors-from-a-supertype","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/inherit-behaviors-from-a-supertype","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db1367417b2b2512b85","block":"object-oriented-programming","challengeType":1,"title":"Impostare il prototipo del figlio su un'istanza del genitore","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"set-the-childs-prototype-to-an-instance-of-the-parent","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/set-the-childs-prototype-to-an-instance-of-the-parent","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db1367417b2b2512b86","block":"object-oriented-programming","challengeType":1,"title":"Ripristinare una proprietà constructor ereditata","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reset-an-inherited-constructor-property","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/reset-an-inherited-constructor-property","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db1367417b2b2512b87","block":"object-oriented-programming","challengeType":1,"title":"Aggiungere dei metodi a quelli ereditati","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-methods-after-inheritance","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/add-methods-after-inheritance","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db1367417b2b2512b88","block":"object-oriented-programming","challengeType":1,"title":"Sovrascrivere metodi ereditati","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"override-inherited-methods","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/override-inherited-methods","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db2367417b2b2512b89","block":"object-oriented-programming","challengeType":1,"title":"Usare un Mixin per aggiungere un comportamento comune tra oggetti non correlati","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-a-mixin-to-add-common-behavior-between-unrelated-objects","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-a-mixin-to-add-common-behavior-between-unrelated-objects","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db2367417b2b2512b8a","block":"object-oriented-programming","challengeType":1,"title":"Usare le closure per proteggere da modifiche esterne le proprietà di un oggetto","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-closure-to-protect-properties-within-an-object-from-being-modified-externally","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-closure-to-protect-properties-within-an-object-from-being-modified-externally","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db2367417b2b2512b8b","block":"object-oriented-programming","challengeType":1,"title":"Comprendere l'espressione di funzione invocata immediatamente (IIFE)","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-immediately-invoked-function-expression-iife","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7db2367417b2b2512b8c","block":"object-oriented-programming","challengeType":1,"title":"Usare una IIFE per creare un modulo","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-an-iife-to-create-a-module","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-an-iife-to-create-a-module","blockName":"Object Oriented Programming"}}}},{"node":{"challenge":{"id":"587d7b8d367417b2b2512b5b","block":"functional-programming","challengeType":1,"title":"Scoprire la programmazione funzionale","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"learn-about-functional-programming","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8e367417b2b2512b5c","block":"functional-programming","challengeType":1,"title":"Comprendere la terminologia della programmazione funzionale","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-functional-programming-terminology","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/understand-functional-programming-terminology","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8e367417b2b2512b5d","block":"functional-programming","challengeType":1,"title":"Comprendere i pericoli dell'utilizzo del codice imperativo","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-hazards-of-using-imperative-code","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8e367417b2b2512b5e","block":"functional-programming","challengeType":1,"title":"Evitare mutazioni ed effetti collaterali utilizzando la programmazione funzionale","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"avoid-mutations-and-side-effects-using-functional-programming","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/avoid-mutations-and-side-effects-using-functional-programming","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8e367417b2b2512b5f","block":"functional-programming","challengeType":1,"title":"Passare gli argomenti per evitare la dipendenza esterna in una funzione","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"pass-arguments-to-avoid-external-dependence-in-a-function","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/pass-arguments-to-avoid-external-dependence-in-a-function","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8f367417b2b2512b60","block":"functional-programming","challengeType":1,"title":"Refactoring delle variabili globali fuori dalle funzioni","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"refactor-global-variables-out-of-functions","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8f367417b2b2512b61","block":"functional-programming","challengeType":1,"title":"Usare il metodo map per estrarre i dati da un array","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-map-method-to-extract-data-from-an-array","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-map-method-to-extract-data-from-an-array","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8f367417b2b2512b62","block":"functional-programming","challengeType":1,"title":"Implementare map in un prototipo","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"implement-map-on-a-prototype","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8f367417b2b2512b63","block":"functional-programming","challengeType":1,"title":"Usare il metodo filter per estrarre i dati da un array","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-filter-method-to-extract-data-from-an-array","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-filter-method-to-extract-data-from-an-array","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b8f367417b2b2512b64","block":"functional-programming","challengeType":1,"title":"Implementare il metodo filter in un prototipo","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"implement-the-filter-method-on-a-prototype","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b90367417b2b2512b65","block":"functional-programming","challengeType":1,"title":"Restituire parte di un array utilizzando il metodo slice","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-part-of-an-array-using-the-slice-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/return-part-of-an-array-using-the-slice-method","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"9d7123c8c441eeafaeb5bdef","block":"functional-programming","challengeType":1,"title":"Rimuovere gli elementi da un array usando slice invece di splice","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-elements-from-an-array-using-slice-instead-of-splice","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/remove-elements-from-an-array-using-slice-instead-of-splice","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7da9367417b2b2512b66","block":"functional-programming","challengeType":1,"title":"Combinare due array usando il metodo concat","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"combine-two-arrays-using-the-concat-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/combine-two-arrays-using-the-concat-method","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7da9367417b2b2512b67","block":"functional-programming","challengeType":1,"title":"Aggiungere elementi alla fine di un array usando concat invece di push","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-elements-to-the-end-of-an-array-using-concat-instead-of-push","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/add-elements-to-the-end-of-an-array-using-concat-instead-of-push","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7da9367417b2b2512b68","block":"functional-programming","challengeType":1,"title":"Usare il metodo reduce per analizzare i dati","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-reduce-method-to-analyze-data","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-reduce-method-to-analyze-data","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7b88367417b2b2512b45","block":"functional-programming","challengeType":1,"title":"Usare le funzioni di ordine superiore map, filter o reduce per risolvere un problema complesso","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-higher-order-functions-map-filter-or-reduce-to-solve-a-complex-problem","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-higher-order-functions-map-filter-or-reduce-to-solve-a-complex-problem","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7da9367417b2b2512b69","block":"functional-programming","challengeType":1,"title":"Ordinare un array alfabeticamente usando il metodo sort","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sort-an-array-alphabetically-using-the-sort-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7da9367417b2b2512b6a","block":"functional-programming","challengeType":1,"title":"Restituire un array ordinato senza cambiare l'array originale","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-a-sorted-array-without-changing-the-original-array","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7daa367417b2b2512b6b","block":"functional-programming","challengeType":1,"title":"Suddividere una stringa in un array usando il metodo split","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"split-a-string-into-an-array-using-the-split-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/split-a-string-into-an-array-using-the-split-method","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7daa367417b2b2512b6c","block":"functional-programming","challengeType":1,"title":"Combinare un array in una stringa usando il metodo join","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"combine-an-array-into-a-string-using-the-join-method","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/combine-an-array-into-a-string-using-the-join-method","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7dab367417b2b2512b6d","block":"functional-programming","challengeType":1,"title":"Applicare la programmazione funzionale per convertire le stringhe in URL Slug","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"apply-functional-programming-to-convert-strings-to-url-slugs","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7dab367417b2b2512b6e","block":"functional-programming","challengeType":1,"title":"Usare il metodo every per controllare che ogni elemento in un array corrisponda a un criterio","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7dab367417b2b2512b6f","block":"functional-programming","challengeType":1,"title":"Usare il metodo some per verificare che almeno un elemento di un array soddisfi un criterio","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"587d7dab367417b2b2512b70","block":"functional-programming","challengeType":1,"title":"Introduzione al currying e all'applicazione parziale","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"introduction-to-currying-and-partial-application","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application","blockName":"Functional Programming"}}}},{"node":{"challenge":{"id":"a3566b1109230028080c9345","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Sommare tutti i numeri in un intervallo","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sum-all-numbers-in-a-range","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a5de63ebea8dbee56860f4f2","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Differenza di due array","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"diff-two-arrays","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/diff-two-arrays","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a39963a4c10bc8b4d4f06d7e","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Cerca e distruggi","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"seek-and-destroy","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/seek-and-destroy","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a8e512fbe388ac2f9198f0fa","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Perché sei tu","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"wherefore-art-thou","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/wherefore-art-thou","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a103376db3ba46b2d50db289","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Spinal Tap Case","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"spinal-tap-case","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/spinal-tap-case","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"aa7697ea2477d1316795783b","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Pig Latin","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"pig-latin","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/pig-latin","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a0b5010f579e69b815e7c5d6","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Cercare e sostituire","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"search-and-replace","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/search-and-replace","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"afd15382cdfb22c9efe8b7de","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Coppie del DNA","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"dna-pairing","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/dna-pairing","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"af7588ade1100bde429baf20","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Lettere mancanti","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"missing-letters","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/missing-letters","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a105e963526e7de52b219be9","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Unione ordinata","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sorted-union","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a6b0bb188d873cb2c8729495","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Convertire entità HTML","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"convert-html-entities","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/convert-html-entities","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a5229172f011153519423690","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Sommare tutti i numeri dispari di Fibonacci","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sum-all-odd-fibonacci-numbers","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a3bfc1673c0526e06d3ac698","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Sommare tutti i numeri primi","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sum-all-primes","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-primes","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"ae9defd7acaf69703ab432ea","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Minimo Comune Multiplo","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"smallest-common-multiple","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/smallest-common-multiple","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a5deed1811a43193f9f1c841","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Fallo cadere","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"drop-it","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/drop-it","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"ab306dbdcc907c7ddfc30830","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Rullo compressore","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"steamroller","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a8d97bd4c764e91f9d2bda01","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Agenti binari","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"binary-agents","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/binary-agents","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a10d2431ad0c6a099a4b8b52","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Tutto sia vero","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"everything-be-true","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/everything-be-true","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a97fd23d9b809dac9921074f","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Argomenti facoltativi","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"arguments-optional","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"a2f1d72d9b908d0bd72bb9f6","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Creare una persona","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"make-a-person","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"af4afb223120f7348cdfc9fd","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Mappare i detriti","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"map-the-debris","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/map-the-debris","blockName":"Intermediate Algorithm Scripting"}}}},{"node":{"challenge":{"id":"aaa48de84e1ecc7c742e1124","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Controllore di Palindromi","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"palindrome-checker","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/palindrome-checker","blockName":"JavaScript Algorithms and Data Structures Projects"}}}},{"node":{"challenge":{"id":"a7f4d8f2483413a6ce226cac","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Convertitore di Numeri Romani","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"roman-numeral-converter","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter","blockName":"JavaScript Algorithms and Data Structures Projects"}}}},{"node":{"challenge":{"id":"56533eb9ac21ba0edf2244e2","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Cifrario di Cesare","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"caesars-cipher","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/caesars-cipher","blockName":"JavaScript Algorithms and Data Structures Projects"}}}},{"node":{"challenge":{"id":"aff0395860f5d3034dc0bfc9","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Validatore di numeri di telefono","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"telephone-number-validator","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/telephone-number-validator","blockName":"JavaScript Algorithms and Data Structures Projects"}}}},{"node":{"challenge":{"id":"aa2e6f85cab2ab736c9a9b24","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Registratore di cassa","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"cash-register","fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register","blockName":"JavaScript Algorithms and Data Structures Projects"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9acde08712","block":"bootstrap","challengeType":0,"title":"Usare il design responsivo con i contenitori fluidi di Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"use-responsive-design-with-bootstrap-fluid-containers","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/use-responsive-design-with-bootstrap-fluid-containers","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9acde08812","block":"bootstrap","challengeType":0,"title":"Rendi le immagini responsive sui dispositivi mobili","order":0,"superBlock":"front-end-development-libraries","dashedName":"make-images-mobile-responsive","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/make-images-mobile-responsive","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd8acde08812","block":"bootstrap","challengeType":0,"title":"Centrare il testo con Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"center-text-with-bootstrap","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/center-text-with-bootstrap","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348cd8acdf08812","block":"bootstrap","challengeType":0,"title":"Creare un bottone con Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-bootstrap-button","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-button","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348cd8acef08812","block":"bootstrap","challengeType":0,"title":"Creare un pulsante Bootstrap di tipo blocco","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-block-element-bootstrap-button","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-block-element-bootstrap-button","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348cd8acef08811","block":"bootstrap","challengeType":0,"title":"Assaggia l'arcobaleno dei colori dei bottoni di Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"taste-the-bootstrap-button-color-rainbow","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/taste-the-bootstrap-button-color-rainbow","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348cd8acef08813","block":"bootstrap","challengeType":0,"title":"Stilizzare azioni facoltative con btn-info","order":0,"superBlock":"front-end-development-libraries","dashedName":"call-out-optional-actions-with-btn-info","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/call-out-optional-actions-with-btn-info","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348ce8acef08814","block":"bootstrap","challengeType":0,"title":"Avvisare gli utenti di un'azione pericolosa con btn-danger","order":0,"superBlock":"front-end-development-libraries","dashedName":"warn-your-users-of-a-dangerous-action-with-btn-danger","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/warn-your-users-of-a-dangerous-action-with-btn-danger","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad88fee1348ce8acef08815","block":"bootstrap","challengeType":0,"title":"Usare la griglia di Bootstrap per affiancare gli elementi","order":0,"superBlock":"front-end-development-libraries","dashedName":"use-the-bootstrap-grid-to-put-elements-side-by-side","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/use-the-bootstrap-grid-to-put-elements-side-by-side","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1347bd9aedf08845","block":"bootstrap","challengeType":0,"title":"Sostituire il CSS personalizzato con quello di Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"ditch-custom-css-for-bootstrap","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/ditch-custom-css-for-bootstrap","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedf08845","block":"bootstrap","challengeType":0,"title":"Usare un intervallo per selezionare gli elementi in linea","order":0,"superBlock":"front-end-development-libraries","dashedName":"use-a-span-to-target-inline-elements","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/use-a-span-to-target-inline-elements","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aede08845","block":"bootstrap","challengeType":0,"title":"Creare un'intestazione personalizzata","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-custom-heading","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-custom-heading","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedd08845","block":"bootstrap","challengeType":0,"title":"Aggiungere le icone Font Awesome ai bottoni","order":0,"superBlock":"front-end-development-libraries","dashedName":"add-font-awesome-icons-to-our-buttons","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/add-font-awesome-icons-to-our-buttons","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedc08845","block":"bootstrap","challengeType":0,"title":"Aggiungere le icone di Font Awesome a tutti i bottoni","order":0,"superBlock":"front-end-development-libraries","dashedName":"add-font-awesome-icons-to-all-of-our-buttons","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/add-font-awesome-icons-to-all-of-our-buttons","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedb08845","block":"bootstrap","challengeType":0,"title":"Stilizzare responsivamente i pulsanti di opzione","order":0,"superBlock":"front-end-development-libraries","dashedName":"responsively-style-radio-buttons","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/responsively-style-radio-buttons","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aeda08845","block":"bootstrap","challengeType":0,"title":"Stilizzare responsivamente le caselle di spunta","order":0,"superBlock":"front-end-development-libraries","dashedName":"responsively-style-checkboxes","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/responsively-style-checkboxes","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed908845","block":"bootstrap","challengeType":0,"title":"Stilizzare gli input di testo come controlli del modulo","order":0,"superBlock":"front-end-development-libraries","dashedName":"style-text-inputs-as-form-controls","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/style-text-inputs-as-form-controls","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908845","block":"bootstrap","challengeType":0,"title":"Allineare responsivamente gli elementi dei moduli con Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"line-up-form-elements-responsively-with-bootstrap","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/line-up-form-elements-responsively-with-bootstrap","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908846","block":"bootstrap","challengeType":0,"title":"Creare un titolo con Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-bootstrap-headline","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-headline","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908746","block":"bootstrap","challengeType":0,"title":"Accomodare la pagina all'interno di un div container-fluid di Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"house-our-page-within-a-bootstrap-container-fluid-div","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/house-our-page-within-a-bootstrap-container-fluid-div","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9bec908846","block":"bootstrap","challengeType":0,"title":"Creare una riga di Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-bootstrap-row","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-row","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908847","block":"bootstrap","challengeType":0,"title":"Dividere la riga di Bootrtrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"split-your-bootstrap-row","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/split-your-bootstrap-row","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908848","block":"bootstrap","challengeType":0,"title":"Creare degli elementi incassati con Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-bootstrap-wells","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-bootstrap-wells","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908849","block":"bootstrap","challengeType":0,"title":"Aggiungere elementi in un contenitore well","order":0,"superBlock":"front-end-development-libraries","dashedName":"add-elements-within-your-bootstrap-wells","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/add-elements-within-your-bootstrap-wells","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908850","block":"bootstrap","challengeType":0,"title":"Applicare lo stile del pulsante Bootstrap di default","order":0,"superBlock":"front-end-development-libraries","dashedName":"apply-the-default-bootstrap-button-style","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/apply-the-default-bootstrap-button-style","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908852","block":"bootstrap","challengeType":0,"title":"Creare una classe da usare con i selettori jQuery","order":0,"superBlock":"front-end-development-libraries","dashedName":"create-a-class-to-target-with-jquery-selectors","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/create-a-class-to-target-with-jquery-selectors","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908853","block":"bootstrap","challengeType":0,"title":"Aggiungere attributi id agli elementi di Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"add-id-attributes-to-bootstrap-elements","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/add-id-attributes-to-bootstrap-elements","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908854","block":"bootstrap","challengeType":0,"title":"Etichettare gli elementi incassati","order":0,"superBlock":"front-end-development-libraries","dashedName":"label-bootstrap-wells","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/label-bootstrap-wells","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908855","block":"bootstrap","challengeType":0,"title":"Dare ad ogni elemento un id unico","order":0,"superBlock":"front-end-development-libraries","dashedName":"give-each-element-a-unique-id","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/give-each-element-a-unique-id","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908856","block":"bootstrap","challengeType":0,"title":"Etichettare i bottoni di Bootstrap","order":0,"superBlock":"front-end-development-libraries","dashedName":"label-bootstrap-buttons","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/label-bootstrap-buttons","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aec908857","block":"bootstrap","challengeType":0,"title":"Usare i commenti per chiarire il codice","order":0,"superBlock":"front-end-development-libraries","dashedName":"use-comments-to-clarify-code","fields":{"slug":"/learn/front-end-development-libraries/bootstrap/use-comments-to-clarify-code","blockName":"Bootstrap"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9acdd08826","block":"jquery","challengeType":6,"title":"Funzionamento dei tag Script e di Document Ready","order":1,"superBlock":"front-end-development-libraries","dashedName":"learn-how-script-tags-and-document-ready-work","fields":{"slug":"/learn/front-end-development-libraries/jquery/learn-how-script-tags-and-document-ready-work","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9bedc08826","block":"jquery","challengeType":6,"title":"Identificare gli elementi HTML con i selettori usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-html-elements-with-selectors-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-html-elements-with-selectors-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aedc08826","block":"jquery","challengeType":6,"title":"Individuare elementi per classe usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-elements-by-class-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-elements-by-class-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aeda08826","block":"jquery","challengeType":6,"title":"Identificare elementi per id usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-elements-by-id-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-elements-by-id-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aeda08726","block":"jquery","challengeType":6,"title":"Eliminare le funzioni jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"delete-your-jquery-functions","fields":{"slug":"/learn/front-end-development-libraries/jquery/delete-your-jquery-functions","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed908626","block":"jquery","challengeType":6,"title":"Identificare lo stesso elemento con diversi selettori jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-the-same-element-with-multiple-jquery-selectors","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-the-same-element-with-multiple-jquery-selectors","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed918626","block":"jquery","challengeType":6,"title":"Rimuovere classi da un elemento con jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"remove-classes-from-an-element-with-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/remove-classes-from-an-element-with-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed908826","block":"jquery","challengeType":6,"title":"Cambiare il CSS di un elemento usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"change-the-css-of-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/change-the-css-of-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed808826","block":"jquery","challengeType":6,"title":"Disabilitare un elemento usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"disable-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/disable-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"564944c91be2204b269d51e3","block":"jquery","challengeType":6,"title":"Cambiare il testo di un elemento usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"change-text-inside-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed708826","block":"jquery","challengeType":6,"title":"Rimuovere un elemento usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"remove-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/remove-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed608826","block":"jquery","challengeType":6,"title":"Usare appendTo per spostare gli elementi con jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"use-appendto-to-move-elements-with-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/use-appendto-to-move-elements-with-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed508826","block":"jquery","challengeType":6,"title":"Clonare un elemento usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"clone-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/clone-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed308826","block":"jquery","challengeType":6,"title":"Identificare il genitore di un elemento usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-the-parent-of-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-the-parent-of-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed208826","block":"jquery","challengeType":6,"title":"Identificare i figli di un elemento usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-the-children-of-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-the-children-of-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed108826","block":"jquery","challengeType":6,"title":"Individuare il figlio specifico di un elemento usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-a-specific-child-of-an-element-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-a-specific-child-of-an-element-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aed008826","block":"jquery","challengeType":6,"title":"Identificare gli elementi pari usando jQuery","order":1,"superBlock":"front-end-development-libraries","dashedName":"target-even-elements-using-jquery","fields":{"slug":"/learn/front-end-development-libraries/jquery/target-even-elements-using-jquery","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"bad87fee1348bd9aecb08826","block":"jquery","challengeType":6,"title":"Usare jQuery per modificare l'intera pagina","order":1,"superBlock":"front-end-development-libraries","dashedName":"use-jquery-to-modify-the-entire-page","fields":{"slug":"/learn/front-end-development-libraries/jquery/use-jquery-to-modify-the-entire-page","blockName":"jQuery"}}}},{"node":{"challenge":{"id":"587d7dbd367417b2b2512bb4","block":"sass","challengeType":0,"title":"Memorizzare dati con le variabili Sass","order":2,"superBlock":"front-end-development-libraries","dashedName":"store-data-with-sass-variables","fields":{"slug":"/learn/front-end-development-libraries/sass/store-data-with-sass-variables","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbd367417b2b2512bb5","block":"sass","challengeType":0,"title":"Nidifica il CSS con Sass","order":2,"superBlock":"front-end-development-libraries","dashedName":"nest-css-with-sass","fields":{"slug":"/learn/front-end-development-libraries/sass/nest-css-with-sass","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbd367417b2b2512bb6","block":"sass","challengeType":0,"title":"Creare CSS riutilizzabile con i mixin","order":2,"superBlock":"front-end-development-libraries","dashedName":"create-reusable-css-with-mixins","fields":{"slug":"/learn/front-end-development-libraries/sass/create-reusable-css-with-mixins","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbe367417b2b2512bb8","block":"sass","challengeType":0,"title":"Usare @if e @else per aggiungere logica agli stili","order":2,"superBlock":"front-end-development-libraries","dashedName":"use-if-and-else-to-add-logic-to-your-styles","fields":{"slug":"/learn/front-end-development-libraries/sass/use-if-and-else-to-add-logic-to-your-styles","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbe367417b2b2512bb9","block":"sass","challengeType":0,"title":"Usare @for per creare un ciclo in Sass","order":2,"superBlock":"front-end-development-libraries","dashedName":"use-for-to-create-a-sass-loop","fields":{"slug":"/learn/front-end-development-libraries/sass/use-for-to-create-a-sass-loop","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbf367417b2b2512bba","block":"sass","challengeType":0,"title":"Usare @each per iterare sugli elementi di una lista","order":2,"superBlock":"front-end-development-libraries","dashedName":"use-each-to-map-over-items-in-a-list","fields":{"slug":"/learn/front-end-development-libraries/sass/use-each-to-map-over-items-in-a-list","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbf367417b2b2512bbb","block":"sass","challengeType":0,"title":"Applicare uno stile finché una condizione è soddisfatta con @while","order":2,"superBlock":"front-end-development-libraries","dashedName":"apply-a-style-until-a-condition-is-met-with-while","fields":{"slug":"/learn/front-end-development-libraries/sass/apply-a-style-until-a-condition-is-met-with-while","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbf367417b2b2512bbc","block":"sass","challengeType":0,"title":"Dividi i tuoi stili in pezzi più piccoli con i partial","order":2,"superBlock":"front-end-development-libraries","dashedName":"split-your-styles-into-smaller-chunks-with-partials","fields":{"slug":"/learn/front-end-development-libraries/sass/split-your-styles-into-smaller-chunks-with-partials","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7fa5367417b2b2512bbd","block":"sass","challengeType":0,"title":"Estendere un gruppo di stili CSS ad un altro elemento","order":2,"superBlock":"front-end-development-libraries","dashedName":"extend-one-set-of-css-styles-to-another-element","fields":{"slug":"/learn/front-end-development-libraries/sass/extend-one-set-of-css-styles-to-another-element","blockName":"Sass"}}}},{"node":{"challenge":{"id":"587d7dbc367417b2b2512bb1","block":"react","challengeType":6,"title":"Creare un semplice elemento JSX","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-simple-jsx-element","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-simple-jsx-element","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24bbe0dba28a8d3cbd4c5d","block":"react","challengeType":6,"title":"Creare un elemento JSX complesso","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-complex-jsx-element","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-complex-jsx-element","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24bbe0dba28a8d3cbd4c5e","block":"react","challengeType":6,"title":"Aggiungere commenti in JSX","order":3,"superBlock":"front-end-development-libraries","dashedName":"add-comments-in-jsx","fields":{"slug":"/learn/front-end-development-libraries/react/add-comments-in-jsx","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24bbe0dba28a8d3cbd4c5f","block":"react","challengeType":6,"title":"Presentare gli elementi HTML nel DOM","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-html-elements-to-the-dom","fields":{"slug":"/learn/front-end-development-libraries/react/render-html-elements-to-the-dom","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036160","block":"react","challengeType":6,"title":"Definire una classe HTML in JSX","order":3,"superBlock":"front-end-development-libraries","dashedName":"define-an-html-class-in-jsx","fields":{"slug":"/learn/front-end-development-libraries/react/define-an-html-class-in-jsx","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036161","block":"react","challengeType":6,"title":"Tag JSX a chiusura automatica","order":3,"superBlock":"front-end-development-libraries","dashedName":"learn-about-self-closing-jsx-tags","fields":{"slug":"/learn/front-end-development-libraries/react/learn-about-self-closing-jsx-tags","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036162","block":"react","challengeType":6,"title":"Creare un componente funzionale senza stato","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-stateless-functional-component","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-stateless-functional-component","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036163","block":"react","challengeType":6,"title":"Creare un componente React","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-react-component","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-react-component","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036164","block":"react","challengeType":6,"title":"Creare un componente con una composizione","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-component-with-composition","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-component-with-composition","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036165","block":"react","challengeType":6,"title":"Usare React per presentare i componenti annidati","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-react-to-render-nested-components","fields":{"slug":"/learn/front-end-development-libraries/react/use-react-to-render-nested-components","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036166","block":"react","challengeType":6,"title":"Creare componenti React","order":3,"superBlock":"front-end-development-libraries","dashedName":"compose-react-components","fields":{"slug":"/learn/front-end-development-libraries/react/compose-react-components","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036167","block":"react","challengeType":6,"title":"Presentare un componente di classe nel DOM","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-a-class-component-to-the-dom","fields":{"slug":"/learn/front-end-development-libraries/react/render-a-class-component-to-the-dom","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036168","block":"react","challengeType":6,"title":"Scrivere un componente React da zero","order":3,"superBlock":"front-end-development-libraries","dashedName":"write-a-react-component-from-scratch","fields":{"slug":"/learn/front-end-development-libraries/react/write-a-react-component-from-scratch","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036169","block":"react","challengeType":6,"title":"Passare proprietà a un componente funzionale senza stato","order":3,"superBlock":"front-end-development-libraries","dashedName":"pass-props-to-a-stateless-functional-component","fields":{"slug":"/learn/front-end-development-libraries/react/pass-props-to-a-stateless-functional-component","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616a","block":"react","challengeType":6,"title":"Passare un Array come proprietà","order":3,"superBlock":"front-end-development-libraries","dashedName":"pass-an-array-as-props","fields":{"slug":"/learn/front-end-development-libraries/react/pass-an-array-as-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616b","block":"react","challengeType":6,"title":"Usare le proprietà predefinite","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-default-props","fields":{"slug":"/learn/front-end-development-libraries/react/use-default-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616c","block":"react","challengeType":6,"title":"Sovrascrivere le proprietà predefinite","order":3,"superBlock":"front-end-development-libraries","dashedName":"override-default-props","fields":{"slug":"/learn/front-end-development-libraries/react/override-default-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616d","block":"react","challengeType":6,"title":"Usare i PropTypes per definire le Prop attese","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-proptypes-to-define-the-props-you-expect","fields":{"slug":"/learn/front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616e","block":"react","challengeType":6,"title":"Accedere alle proprietà utilizzando this.props","order":3,"superBlock":"front-end-development-libraries","dashedName":"access-props-using-this-props","fields":{"slug":"/learn/front-end-development-libraries/react/access-props-using-this-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403616f","block":"react","challengeType":6,"title":"Ripasso dell'uso delle Props con componenti funzionali senza stato","order":3,"superBlock":"front-end-development-libraries","dashedName":"review-using-props-with-stateless-functional-components","fields":{"slug":"/learn/front-end-development-libraries/react/review-using-props-with-stateless-functional-components","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036170","block":"react","challengeType":6,"title":"Creare un componente con stato","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-stateful-component","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-stateful-component","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036171","block":"react","challengeType":6,"title":"Presentare lo stato nell'interfaccia utente","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-state-in-the-user-interface","fields":{"slug":"/learn/front-end-development-libraries/react/render-state-in-the-user-interface","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036172","block":"react","challengeType":6,"title":"Presentare lo stato nell'interfaccia utente in un altro modo","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-state-in-the-user-interface-another-way","fields":{"slug":"/learn/front-end-development-libraries/react/render-state-in-the-user-interface-another-way","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036173","block":"react","challengeType":6,"title":"Impostare lo stato con this.setState","order":3,"superBlock":"front-end-development-libraries","dashedName":"set-state-with-this-setstate","fields":{"slug":"/learn/front-end-development-libraries/react/set-state-with-this-setstate","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036174","block":"react","challengeType":6,"title":"Associare 'this' a un metodo di classe","order":3,"superBlock":"front-end-development-libraries","dashedName":"bind-this-to-a-class-method","fields":{"slug":"/learn/front-end-development-libraries/react/bind-this-to-a-class-method","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036176","block":"react","challengeType":6,"title":"Usare lo stato per attivare e disattivare un elemento","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-state-to-toggle-an-element","fields":{"slug":"/learn/front-end-development-libraries/react/use-state-to-toggle-an-element","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036177","block":"react","challengeType":6,"title":"Scrivere un semplice contatore","order":3,"superBlock":"front-end-development-libraries","dashedName":"write-a-simple-counter","fields":{"slug":"/learn/front-end-development-libraries/react/write-a-simple-counter","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036178","block":"react","challengeType":6,"title":"Creare un input controllato","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-controlled-input","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-controlled-input","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036179","block":"react","challengeType":6,"title":"Creare un modulo controllato","order":3,"superBlock":"front-end-development-libraries","dashedName":"create-a-controlled-form","fields":{"slug":"/learn/front-end-development-libraries/react/create-a-controlled-form","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403617a","block":"react","challengeType":6,"title":"Passare State come Props ai componenti figli","order":3,"superBlock":"front-end-development-libraries","dashedName":"pass-state-as-props-to-child-components","fields":{"slug":"/learn/front-end-development-libraries/react/pass-state-as-props-to-child-components","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403617b","block":"react","challengeType":6,"title":"Passare una Callback come proprietà","order":3,"superBlock":"front-end-development-libraries","dashedName":"pass-a-callback-as-props","fields":{"slug":"/learn/front-end-development-libraries/react/pass-a-callback-as-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403617c","block":"react","challengeType":6,"title":"Usare il metodo del ciclo di vita componentWillMount","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-the-lifecycle-method-componentwillmount","fields":{"slug":"/learn/front-end-development-libraries/react/use-the-lifecycle-method-componentwillmount","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403617d","block":"react","challengeType":6,"title":"Usare il metodo del ciclo di vita componentDidMount","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-the-lifecycle-method-componentdidmount","fields":{"slug":"/learn/front-end-development-libraries/react/use-the-lifecycle-method-componentdidmount","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403617e","block":"react","challengeType":6,"title":"Aggiungere listener di eventi","order":3,"superBlock":"front-end-development-libraries","dashedName":"add-event-listeners","fields":{"slug":"/learn/front-end-development-libraries/react/add-event-listeners","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036180","block":"react","challengeType":6,"title":"Ottimizzare il re-rendering con shouldComponentUpdate","order":3,"superBlock":"front-end-development-libraries","dashedName":"optimize-re-renders-with-shouldcomponentupdate","fields":{"slug":"/learn/front-end-development-libraries/react/optimize-re-renders-with-shouldcomponentupdate","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036181","block":"react","challengeType":6,"title":"Gli stili inline","order":3,"superBlock":"front-end-development-libraries","dashedName":"introducing-inline-styles","fields":{"slug":"/learn/front-end-development-libraries/react/introducing-inline-styles","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036182","block":"react","challengeType":6,"title":"Aggiungere stili in linea in React","order":3,"superBlock":"front-end-development-libraries","dashedName":"add-inline-styles-in-react","fields":{"slug":"/learn/front-end-development-libraries/react/add-inline-styles-in-react","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036183","block":"react","challengeType":6,"title":"Usare JavaScript avanzato nel metodo Render di React","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-advanced-javascript-in-react-render-method","fields":{"slug":"/learn/front-end-development-libraries/react/use-advanced-javascript-in-react-render-method","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036184","block":"react","challengeType":6,"title":"Presentare con una condizione If-Else","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-with-an-if-else-condition","fields":{"slug":"/learn/front-end-development-libraries/react/render-with-an-if-else-condition","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036185","block":"react","challengeType":6,"title":"Usare && per un condizionale più conciso","order":3,"superBlock":"front-end-development-libraries","dashedName":"use--for-a-more-concise-conditional","fields":{"slug":"/learn/front-end-development-libraries/react/use--for-a-more-concise-conditional","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036187","block":"react","challengeType":6,"title":"Usare un'espressione ternaria per il rendering condizionale","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-a-ternary-expression-for-conditional-rendering","fields":{"slug":"/learn/front-end-development-libraries/react/use-a-ternary-expression-for-conditional-rendering","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036188","block":"react","challengeType":6,"title":"Presentare condizionalmente dalle Props","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-conditionally-from-props","fields":{"slug":"/learn/front-end-development-libraries/react/render-conditionally-from-props","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036189","block":"react","challengeType":6,"title":"Cambiare CSS inline condizionalmente in base allo stato dei componenti","order":3,"superBlock":"front-end-development-libraries","dashedName":"change-inline-css-conditionally-based-on-component-state","fields":{"slug":"/learn/front-end-development-libraries/react/change-inline-css-conditionally-based-on-component-state","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403618a","block":"react","challengeType":6,"title":"Usare Array.map() per presentare dinamicamente gli elementi","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-array-map-to-dynamically-render-elements","fields":{"slug":"/learn/front-end-development-libraries/react/use-array-map-to-dynamically-render-elements","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403618b","block":"react","challengeType":6,"title":"Dare agli elementi fratelli un attributo chiave univoco","order":3,"superBlock":"front-end-development-libraries","dashedName":"give-sibling-elements-a-unique-key-attribute","fields":{"slug":"/learn/front-end-development-libraries/react/give-sibling-elements-a-unique-key-attribute","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403618c","block":"react","challengeType":6,"title":"Usare Array.filter() per filtrare dinamicamente un array","order":3,"superBlock":"front-end-development-libraries","dashedName":"use-array-filter-to-dynamically-filter-an-array","fields":{"slug":"/learn/front-end-development-libraries/react/use-array-filter-to-dynamically-filter-an-array","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403618d","block":"react","challengeType":6,"title":"Presentare React nel server con renderToString","order":3,"superBlock":"front-end-development-libraries","dashedName":"render-react-on-the-server-with-rendertostring","fields":{"slug":"/learn/front-end-development-libraries/react/render-react-on-the-server-with-rendertostring","blockName":"React"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614b","block":"redux","challengeType":6,"title":"Creare uno store di Redux","order":4,"superBlock":"front-end-development-libraries","dashedName":"create-a-redux-store","fields":{"slug":"/learn/front-end-development-libraries/redux/create-a-redux-store","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614c","block":"redux","challengeType":6,"title":"Ottenere lo stato dallo store di Redux","order":4,"superBlock":"front-end-development-libraries","dashedName":"get-state-from-the-redux-store","fields":{"slug":"/learn/front-end-development-libraries/redux/get-state-from-the-redux-store","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614d","block":"redux","challengeType":6,"title":"Definire un'azione Redux","order":4,"superBlock":"front-end-development-libraries","dashedName":"define-a-redux-action","fields":{"slug":"/learn/front-end-development-libraries/redux/define-a-redux-action","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614e","block":"redux","challengeType":6,"title":"Definire un creatore di azione","order":4,"superBlock":"front-end-development-libraries","dashedName":"define-an-action-creator","fields":{"slug":"/learn/front-end-development-libraries/redux/define-an-action-creator","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614f","block":"redux","challengeType":6,"title":"Inviare un evento azione","order":4,"superBlock":"front-end-development-libraries","dashedName":"dispatch-an-action-event","fields":{"slug":"/learn/front-end-development-libraries/redux/dispatch-an-action-event","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036150","block":"redux","challengeType":6,"title":"Gestire un'azione nello store","order":4,"superBlock":"front-end-development-libraries","dashedName":"handle-an-action-in-the-store","fields":{"slug":"/learn/front-end-development-libraries/redux/handle-an-action-in-the-store","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036151","block":"redux","challengeType":6,"title":"Usare un'istruzione switch per gestire più azioni","order":4,"superBlock":"front-end-development-libraries","dashedName":"use-a-switch-statement-to-handle-multiple-actions","fields":{"slug":"/learn/front-end-development-libraries/redux/use-a-switch-statement-to-handle-multiple-actions","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036152","block":"redux","challengeType":6,"title":"Usare const per i tipi di azione","order":4,"superBlock":"front-end-development-libraries","dashedName":"use-const-for-action-types","fields":{"slug":"/learn/front-end-development-libraries/redux/use-const-for-action-types","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036153","block":"redux","challengeType":6,"title":"Registrare un listener dello store","order":4,"superBlock":"front-end-development-libraries","dashedName":"register-a-store-listener","fields":{"slug":"/learn/front-end-development-libraries/redux/register-a-store-listener","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036154","block":"redux","challengeType":6,"title":"Combinare reducers multipli","order":4,"superBlock":"front-end-development-libraries","dashedName":"combine-multiple-reducers","fields":{"slug":"/learn/front-end-development-libraries/redux/combine-multiple-reducers","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036155","block":"redux","challengeType":6,"title":"Inviare i dati delle azioni allo store","order":4,"superBlock":"front-end-development-libraries","dashedName":"send-action-data-to-the-store","fields":{"slug":"/learn/front-end-development-libraries/redux/send-action-data-to-the-store","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036156","block":"redux","challengeType":6,"title":"Usare il middleware per gestire azioni asincrone","order":4,"superBlock":"front-end-development-libraries","dashedName":"use-middleware-to-handle-asynchronous-actions","fields":{"slug":"/learn/front-end-development-libraries/redux/use-middleware-to-handle-asynchronous-actions","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036157","block":"redux","challengeType":6,"title":"Scrivere un contatore con Redux","order":4,"superBlock":"front-end-development-libraries","dashedName":"write-a-counter-with-redux","fields":{"slug":"/learn/front-end-development-libraries/redux/write-a-counter-with-redux","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036158","block":"redux","challengeType":6,"title":"Mai mutare lo stato","order":4,"superBlock":"front-end-development-libraries","dashedName":"never-mutate-state","fields":{"slug":"/learn/front-end-development-libraries/redux/never-mutate-state","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036159","block":"redux","challengeType":6,"title":"Usare l'operatore di propagazione sugli array","order":4,"superBlock":"front-end-development-libraries","dashedName":"use-the-spread-operator-on-arrays","fields":{"slug":"/learn/front-end-development-libraries/redux/use-the-spread-operator-on-arrays","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403615a","block":"redux","challengeType":6,"title":"Rimuovere un elemento da un Array","order":4,"superBlock":"front-end-development-libraries","dashedName":"remove-an-item-from-an-array","fields":{"slug":"/learn/front-end-development-libraries/redux/remove-an-item-from-an-array","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403615b","block":"redux","challengeType":6,"title":"Copiare un oggetto con Object.assign","order":4,"superBlock":"front-end-development-libraries","dashedName":"copy-an-object-with-object-assign","fields":{"slug":"/learn/front-end-development-libraries/redux/copy-an-object-with-object-assign","blockName":"Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036141","block":"react-and-redux","challengeType":6,"title":"Iniziare con React Redux","order":5,"superBlock":"front-end-development-libraries","dashedName":"getting-started-with-react-redux","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/getting-started-with-react-redux","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036142","block":"react-and-redux","challengeType":6,"title":"Gestire prima lo stato localmente","order":5,"superBlock":"front-end-development-libraries","dashedName":"manage-state-locally-first","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/manage-state-locally-first","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036143","block":"react-and-redux","challengeType":6,"title":"Estrarre la logica dello stato in Redux","order":5,"superBlock":"front-end-development-libraries","dashedName":"extract-state-logic-to-redux","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/extract-state-logic-to-redux","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036144","block":"react-and-redux","challengeType":6,"title":"Usare il Provider per connettere Redux a React","order":5,"superBlock":"front-end-development-libraries","dashedName":"use-provider-to-connect-redux-to-react","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/use-provider-to-connect-redux-to-react","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036145","block":"react-and-redux","challengeType":6,"title":"Mappare lo stato sulle props","order":5,"superBlock":"front-end-development-libraries","dashedName":"map-state-to-props","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/map-state-to-props","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036146","block":"react-and-redux","challengeType":6,"title":"Mappare la spedizione delle props","order":5,"superBlock":"front-end-development-libraries","dashedName":"map-dispatch-to-props","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/map-dispatch-to-props","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036147","block":"react-and-redux","challengeType":6,"title":"Connettere Redux a React","order":5,"superBlock":"front-end-development-libraries","dashedName":"connect-redux-to-react","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/connect-redux-to-react","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036148","block":"react-and-redux","challengeType":6,"title":"Connettere Redux all'app Messaggi","order":5,"superBlock":"front-end-development-libraries","dashedName":"connect-redux-to-the-messages-app","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d4036149","block":"react-and-redux","challengeType":6,"title":"Estrai lo stato locale in Redux","order":5,"superBlock":"front-end-development-libraries","dashedName":"extract-local-state-into-redux","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/extract-local-state-into-redux","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"5a24c314108439a4d403614a","block":"react-and-redux","challengeType":6,"title":"Andare oltre","order":5,"superBlock":"front-end-development-libraries","dashedName":"moving-forward-from-here","fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/moving-forward-from-here","blockName":"React and Redux"}}}},{"node":{"challenge":{"id":"bd7158d8c442eddfaeb5bd13","block":"front-end-development-libraries-projects","challengeType":3,"title":"Costruisci una Macchina per le citazioni casuali","order":6,"superBlock":"front-end-development-libraries","dashedName":"build-a-random-quote-machine","fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-random-quote-machine","blockName":"Front End Development Libraries Projects"}}}},{"node":{"challenge":{"id":"bd7157d8c242eddfaeb5bd13","block":"front-end-development-libraries-projects","challengeType":3,"title":"Costruisci un visualizzatore di anteprima per il Markdown","order":6,"superBlock":"front-end-development-libraries","dashedName":"build-a-markdown-previewer","fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-markdown-previewer","blockName":"Front End Development Libraries Projects"}}}},{"node":{"challenge":{"id":"587d7dbc367417b2b2512bae","block":"front-end-development-libraries-projects","challengeType":3,"title":"Costruisci una batteria","order":6,"superBlock":"front-end-development-libraries","dashedName":"build-a-drum-machine","fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine","blockName":"Front End Development Libraries Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c442eddfaeb5bd17","block":"front-end-development-libraries-projects","challengeType":3,"title":"Costruisci una Calcolatrice JavaScript","order":6,"superBlock":"front-end-development-libraries","dashedName":"build-a-javascript-calculator","fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-javascript-calculator","blockName":"Front End Development Libraries Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c442eddfaeb5bd0f","block":"front-end-development-libraries-projects","challengeType":3,"title":"Costruisci un Orologio 25 + 5","order":6,"superBlock":"front-end-development-libraries","dashedName":"build-a-25--5-clock","fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-25--5-clock","blockName":"Front End Development Libraries Projects"}}}},{"node":{"challenge":{"id":"587d7fa6367417b2b2512bc2","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiungere elementi a un documento con D3","order":0,"superBlock":"data-visualization","dashedName":"add-document-elements-with-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-document-elements-with-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa6367417b2b2512bc3","block":"data-visualization-with-d3","challengeType":6,"title":"Selezionare un gruppo di elementi con D3","order":0,"superBlock":"data-visualization","dashedName":"select-a-group-of-elements-with-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/select-a-group-of-elements-with-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa7367417b2b2512bc4","block":"data-visualization-with-d3","challengeType":6,"title":"Lavorare con i dati in D3","order":0,"superBlock":"data-visualization","dashedName":"work-with-data-in-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/work-with-data-in-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa7367417b2b2512bc5","block":"data-visualization-with-d3","challengeType":6,"title":"Lavorare con i dati dinamici in D3","order":0,"superBlock":"data-visualization","dashedName":"work-with-dynamic-data-in-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/work-with-dynamic-data-in-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa7367417b2b2512bc6","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiungere stili in linea agli elementi","order":0,"superBlock":"data-visualization","dashedName":"add-inline-styling-to-elements","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-inline-styling-to-elements","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa7367417b2b2512bc7","block":"data-visualization-with-d3","challengeType":6,"title":"Cambiare lo stile in base ai dati","order":0,"superBlock":"data-visualization","dashedName":"change-styles-based-on-data","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/change-styles-based-on-data","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa7367417b2b2512bc8","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiungere classi con D3","order":0,"superBlock":"data-visualization","dashedName":"add-classes-with-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-classes-with-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa8367417b2b2512bc9","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiornare dinamicamente l'altezza di un elemento","order":0,"superBlock":"data-visualization","dashedName":"update-the-height-of-an-element-dynamically","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/update-the-height-of-an-element-dynamically","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa8367417b2b2512bca","block":"data-visualization-with-d3","challengeType":6,"title":"Cambiare la presentazione di un grafico a barre","order":0,"superBlock":"data-visualization","dashedName":"change-the-presentation-of-a-bar-chart","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/change-the-presentation-of-a-bar-chart","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa8367417b2b2512bcb","block":"data-visualization-with-d3","challengeType":6,"title":"Informazioni su SVG in D3","order":0,"superBlock":"data-visualization","dashedName":"learn-about-svg-in-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/learn-about-svg-in-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa8367417b2b2512bcc","block":"data-visualization-with-d3","challengeType":6,"title":"Mostrare forme con SVG","order":0,"superBlock":"data-visualization","dashedName":"display-shapes-with-svg","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/display-shapes-with-svg","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa8367417b2b2512bcd","block":"data-visualization-with-d3","challengeType":6,"title":"Creare una barra per ogni punto di dati nell'insieme","order":0,"superBlock":"data-visualization","dashedName":"create-a-bar-for-each-data-point-in-the-set","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/create-a-bar-for-each-data-point-in-the-set","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa9367417b2b2512bce","block":"data-visualization-with-d3","challengeType":6,"title":"Impostare dinamicamente le coordinate per ogni barra","order":0,"superBlock":"data-visualization","dashedName":"dynamically-set-the-coordinates-for-each-bar","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/dynamically-set-the-coordinates-for-each-bar","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa9367417b2b2512bcf","block":"data-visualization-with-d3","challengeType":6,"title":"Cambiare dinamicamente l'altezza di ogni barra","order":0,"superBlock":"data-visualization","dashedName":"dynamically-change-the-height-of-each-bar","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/dynamically-change-the-height-of-each-bar","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa9367417b2b2512bd0","block":"data-visualization-with-d3","challengeType":6,"title":"Invertire elementi SVG","order":0,"superBlock":"data-visualization","dashedName":"invert-svg-elements","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/invert-svg-elements","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fa9367417b2b2512bd1","block":"data-visualization-with-d3","challengeType":6,"title":"Cambiare il colore di un elemento SVG","order":0,"superBlock":"data-visualization","dashedName":"change-the-color-of-an-svg-element","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/change-the-color-of-an-svg-element","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7faa367417b2b2512bd2","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiungere etichette agli elementi D3","order":0,"superBlock":"data-visualization","dashedName":"add-labels-to-d3-elements","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-labels-to-d3-elements","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7faa367417b2b2512bd3","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiungere stili alle etichette D3","order":0,"superBlock":"data-visualization","dashedName":"style-d3-labels","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/style-d3-labels","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7faa367417b2b2512bd4","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiungere un effetto hover a un elemento D3","order":0,"superBlock":"data-visualization","dashedName":"add-a-hover-effect-to-a-d3-element","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-a-hover-effect-to-a-d3-element","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7faa367417b2b2512bd6","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiungere un suggerimento a un elemento D3","order":0,"superBlock":"data-visualization","dashedName":"add-a-tooltip-to-a-d3-element","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fab367417b2b2512bd7","block":"data-visualization-with-d3","challengeType":6,"title":"Creare un diagramma a dispersione con cerchi SVG","order":0,"superBlock":"data-visualization","dashedName":"create-a-scatterplot-with-svg-circles","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/create-a-scatterplot-with-svg-circles","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fab367417b2b2512bd8","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiungere attributi agli elementi cerchio","order":0,"superBlock":"data-visualization","dashedName":"add-attributes-to-the-circle-elements","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-attributes-to-the-circle-elements","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fab367417b2b2512bd9","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiungere etichette ai grafici a dispersione","order":0,"superBlock":"data-visualization","dashedName":"add-labels-to-scatter-plot-circles","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-labels-to-scatter-plot-circles","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fab367417b2b2512bda","block":"data-visualization-with-d3","challengeType":6,"title":"Creare una scala lineare con D3","order":0,"superBlock":"data-visualization","dashedName":"create-a-linear-scale-with-d3","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/create-a-linear-scale-with-d3","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fac367417b2b2512bdb","block":"data-visualization-with-d3","challengeType":6,"title":"Impostare un dominio e un intervallo su una scala","order":0,"superBlock":"data-visualization","dashedName":"set-a-domain-and-a-range-on-a-scale","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/set-a-domain-and-a-range-on-a-scale","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fac367417b2b2512bdc","block":"data-visualization-with-d3","challengeType":6,"title":"Usa le funzioni d3.max e d3.min per trovare i valori minimi e massimi in un set di dati","order":0,"superBlock":"data-visualization","dashedName":"use-the-d3-max-and-d3-min-functions-to-find-minimum-and-maximum-values-in-a-dataset","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/use-the-d3-max-and-d3-min-functions-to-find-minimum-and-maximum-values-in-a-dataset","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fac367417b2b2512bdd","block":"data-visualization-with-d3","challengeType":6,"title":"Usare scale dinamiche","order":0,"superBlock":"data-visualization","dashedName":"use-dynamic-scales","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/use-dynamic-scales","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fac367417b2b2512bde","block":"data-visualization-with-d3","challengeType":6,"title":"Usare una scala predefinita per posizionare gli elementi","order":0,"superBlock":"data-visualization","dashedName":"use-a-pre-defined-scale-to-place-elements","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/use-a-pre-defined-scale-to-place-elements","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fad367417b2b2512bdf","block":"data-visualization-with-d3","challengeType":6,"title":"Aggiungere gli assi a una visualizzazione","order":0,"superBlock":"data-visualization","dashedName":"add-axes-to-a-visualization","fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/add-axes-to-a-visualization","blockName":"Data Visualization with D3"}}}},{"node":{"challenge":{"id":"587d7fad367417b2b2512be1","block":"json-apis-and-ajax","challengeType":6,"title":"Gestire gli eventi click in JavaScript con la proprietà onclick","order":1,"superBlock":"data-visualization","dashedName":"handle-click-events-with-javascript-using-the-onclick-property","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/handle-click-events-with-javascript-using-the-onclick-property","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fad367417b2b2512be2","block":"json-apis-and-ajax","challengeType":6,"title":"Cambiare il testo con un evento click","order":1,"superBlock":"data-visualization","dashedName":"change-text-with-click-events","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/change-text-with-click-events","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fae367417b2b2512be3","block":"json-apis-and-ajax","challengeType":6,"title":"Ottenere JSON col metodo XMLHttpRequest di JavaScript","order":1,"superBlock":"data-visualization","dashedName":"get-json-with-the-javascript-xmlhttprequest-method","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/get-json-with-the-javascript-xmlhttprequest-method","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"5ccfad82bb2dc6c965a848e5","block":"json-apis-and-ajax","challengeType":6,"title":"Otterenere JSON col metodo fetch di JavaScript","order":1,"superBlock":"data-visualization","dashedName":"get-json-with-the-javascript-fetch-method","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/get-json-with-the-javascript-fetch-method","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fae367417b2b2512be4","block":"json-apis-and-ajax","challengeType":6,"title":"Accedere ai dati JSON da un'API","order":1,"superBlock":"data-visualization","dashedName":"access-the-json-data-from-an-api","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/access-the-json-data-from-an-api","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fae367417b2b2512be5","block":"json-apis-and-ajax","challengeType":6,"title":"Convertire dati JSON ad HTML","order":1,"superBlock":"data-visualization","dashedName":"convert-json-data-to-html","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/convert-json-data-to-html","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fae367417b2b2512be6","block":"json-apis-and-ajax","challengeType":6,"title":"Presentare le immagini dalle fonti di dati","order":1,"superBlock":"data-visualization","dashedName":"render-images-from-data-sources","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/render-images-from-data-sources","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7fae367417b2b2512be7","block":"json-apis-and-ajax","challengeType":6,"title":"Pre-filtrare JSON per ottenere i dati necessari","order":1,"superBlock":"data-visualization","dashedName":"pre-filter-json-to-get-the-data-you-need","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/pre-filter-json-to-get-the-data-you-need","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7faf367417b2b2512be8","block":"json-apis-and-ajax","challengeType":6,"title":"Ottenere dati di geolocazione per trovare le coordinate GPS di un utente","order":1,"superBlock":"data-visualization","dashedName":"get-geolocation-data-to-find-a-users-gps-coordinates","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/get-geolocation-data-to-find-a-users-gps-coordinates","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"587d7faf367417b2b2512be9","block":"json-apis-and-ajax","challengeType":6,"title":"Inviare dati con il metodo XMLHttpRequest di JavaScript","order":1,"superBlock":"data-visualization","dashedName":"post-data-with-the-javascript-xmlhttprequest-method","fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/post-data-with-the-javascript-xmlhttprequest-method","blockName":"JSON APIs and Ajax"}}}},{"node":{"challenge":{"id":"bd7168d8c242eddfaeb5bd13","block":"data-visualization-projects","challengeType":3,"title":"Visualizzare i dati con un grafico a barre","order":2,"superBlock":"data-visualization","dashedName":"visualize-data-with-a-bar-chart","fields":{"slug":"/learn/data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart","blockName":"Data Visualization Projects"}}}},{"node":{"challenge":{"id":"bd7178d8c242eddfaeb5bd13","block":"data-visualization-projects","challengeType":3,"title":"Visualizzare i dati con un grafico a dispersione","order":2,"superBlock":"data-visualization","dashedName":"visualize-data-with-a-scatterplot-graph","fields":{"slug":"/learn/data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph","blockName":"Data Visualization Projects"}}}},{"node":{"challenge":{"id":"bd7188d8c242eddfaeb5bd13","block":"data-visualization-projects","challengeType":3,"title":"Visualizzare i dati con una mappa di calore","order":2,"superBlock":"data-visualization","dashedName":"visualize-data-with-a-heat-map","fields":{"slug":"/learn/data-visualization/data-visualization-projects/visualize-data-with-a-heat-map","blockName":"Data Visualization Projects"}}}},{"node":{"challenge":{"id":"587d7fa6367417b2b2512bbf","block":"data-visualization-projects","challengeType":3,"title":"Visualizzare i dati con una mappa coropletica","order":2,"superBlock":"data-visualization","dashedName":"visualize-data-with-a-choropleth-map","fields":{"slug":"/learn/data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map","blockName":"Data Visualization Projects"}}}},{"node":{"challenge":{"id":"587d7fa6367417b2b2512bc0","block":"data-visualization-projects","challengeType":3,"title":"Visualizza i dati con una mappa ad albero","order":2,"superBlock":"data-visualization","dashedName":"visualize-data-with-a-treemap-diagram","fields":{"slug":"/learn/data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram","blockName":"Data Visualization Projects"}}}},{"node":{"challenge":{"id":"5ea8adfab628f68d805bfc5e","block":"learn-bash-by-building-a-boilerplate","challengeType":12,"title":"Build a Boilerplate","order":0,"superBlock":"relational-database","dashedName":"build-a-boilerplate","fields":{"slug":"/learn/relational-database/learn-bash-by-building-a-boilerplate/build-a-boilerplate","blockName":"Learn Bash By Building A Boilerplate"}}}},{"node":{"challenge":{"id":"5f2c289f164c29556da632fd","block":"learn-relational-databases-by-building-a-mario-database","challengeType":12,"title":"Build a Mario Database","order":1,"superBlock":"relational-database","dashedName":"build-a-mario-database","fields":{"slug":"/learn/relational-database/learn-relational-databases-by-building-a-mario-database/build-a-mario-database","blockName":"Learn Relational Databases By Building A Mario Database"}}}},{"node":{"challenge":{"id":"5f1a4ef5d5d6b5ab580fc6ae","block":"build-a-celestial-bodies-database-project","challengeType":13,"title":"Build a Celestial Bodies Database","order":2,"superBlock":"relational-database","dashedName":"build-a-celestial-bodies-database","fields":{"slug":"/learn/relational-database/build-a-celestial-bodies-database-project/build-a-celestial-bodies-database","blockName":"Build A Celestial Bodies Database Project"}}}},{"node":{"challenge":{"id":"5f5904ac738bc2fa9efecf5a","block":"learn-bash-scripting-by-building-five-programs","challengeType":12,"title":"Build Five Programs","order":3,"superBlock":"relational-database","dashedName":"build-five-programs","fields":{"slug":"/learn/relational-database/learn-bash-scripting-by-building-five-programs/build-five-programs","blockName":"Learn Bash Scripting By Building Five Programs"}}}},{"node":{"challenge":{"id":"602da0c222201c65d2a019f5","block":"learn-sql-by-building-a-student-database-part-1","challengeType":12,"title":"Build a Student Database: Part 1","order":4,"superBlock":"relational-database","dashedName":"build-a-student-database-part-1","fields":{"slug":"/learn/relational-database/learn-sql-by-building-a-student-database-part-1/build-a-student-database-part-1","blockName":"Learn Sql By Building A Student Database Part 1"}}}},{"node":{"challenge":{"id":"618590adb0730ca724e37672","block":"learn-sql-by-building-a-student-database-part-2","challengeType":12,"title":"Build a Student Database: Part 2","order":5,"superBlock":"relational-database","dashedName":"build-a-student-database-part-2","fields":{"slug":"/learn/relational-database/learn-sql-by-building-a-student-database-part-2/build-a-student-database-part-2","blockName":"Learn Sql By Building A Student Database Part 2"}}}},{"node":{"challenge":{"id":"5f9771307d4d22b9d2b75a94","block":"build-a-world-cup-database-project","challengeType":13,"title":"Build a World Cup Database","order":6,"superBlock":"relational-database","dashedName":"build-a-world-cup-database","fields":{"slug":"/learn/relational-database/build-a-world-cup-database-project/build-a-world-cup-database","blockName":"Build A World Cup Database Project"}}}},{"node":{"challenge":{"id":"602da0de22201c65d2a019f6","block":"learn-advanced-bash-by-building-a-kitty-ipsum-translator","challengeType":12,"title":"Build a Kitty Ipsum Translator","order":7,"superBlock":"relational-database","dashedName":"build-a-kitty-ipsum-translator","fields":{"slug":"/learn/relational-database/learn-advanced-bash-by-building-a-kitty-ipsum-translator/build-a-kitty-ipsum-translator","blockName":"Learn Advanced Bash By Building A Kitty Ipsum Translator"}}}},{"node":{"challenge":{"id":"5f5b969a05380d2179fe6e18","block":"learn-bash-and-sql-by-building-a-bike-rental-shop","challengeType":12,"title":"Build a Bike Rental Shop","order":8,"superBlock":"relational-database","dashedName":"build-a-bike-rental-shop","fields":{"slug":"/learn/relational-database/learn-bash-and-sql-by-building-a-bike-rental-shop/build-a-bike-rental-shop","blockName":"Learn Bash and Sql By Building A Bike Rental Shop"}}}},{"node":{"challenge":{"id":"5f87ac112ae598023a42df1a","block":"build-a-salon-appointment-scheduler-project","challengeType":13,"title":"Build a Salon Appointment Scheduler","order":9,"superBlock":"relational-database","dashedName":"build-a-salon-appointment-scheduler","fields":{"slug":"/learn/relational-database/build-a-salon-appointment-scheduler-project/build-a-salon-appointment-scheduler","blockName":"Build A Salon Appointment Scheduler Project"}}}},{"node":{"challenge":{"id":"5f32db63eb37f7e17323f459","block":"learn-nano-by-building-a-castle","challengeType":12,"title":"Build a Castle","order":10,"superBlock":"relational-database","dashedName":"build-a-castle","fields":{"slug":"/learn/relational-database/learn-nano-by-building-a-castle/build-a-castle","blockName":"Learn Nano By Building A Castle"}}}},{"node":{"challenge":{"id":"5fa323cdaf6a73463d590659","block":"learn-git-by-building-an-sql-reference-object","challengeType":12,"title":"Build an SQL Reference Object","order":11,"superBlock":"relational-database","dashedName":"build-an-sql-reference-object","fields":{"slug":"/learn/relational-database/learn-git-by-building-an-sql-reference-object/build-an-sql-reference-object","blockName":"Learn Git By Building An Sql Reference Object"}}}},{"node":{"challenge":{"id":"602d9ff222201c65d2a019f2","block":"build-a-periodic-table-database-project","challengeType":13,"title":"Build a Periodic Table Database","order":12,"superBlock":"relational-database","dashedName":"build-a-periodic-table-database","fields":{"slug":"/learn/relational-database/build-a-periodic-table-database-project/build-a-periodic-table-database","blockName":"Build A Periodic Table Database Project"}}}},{"node":{"challenge":{"id":"602da04c22201c65d2a019f4","block":"build-a-number-guessing-game-project","challengeType":13,"title":"Build a Number Guessing Game","order":13,"superBlock":"relational-database","dashedName":"build-a-number-guessing-game","fields":{"slug":"/learn/relational-database/build-a-number-guessing-game-project/build-a-number-guessing-game","blockName":"Build A Number Guessing Game Project"}}}},{"node":{"challenge":{"id":"587d7fb3367417b2b2512bfb","block":"managing-packages-with-npm","challengeType":2,"title":"Come utilizzare package.json, il nucleo di qualsiasi progetto Node.js o pacchetto npm","order":0,"superBlock":"back-end-development-and-apis","dashedName":"how-to-use-package-json-the-core-of-any-node-js-project-or-npm-package","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/how-to-use-package-json-the-core-of-any-node-js-project-or-npm-package","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb3367417b2b2512bfc","block":"managing-packages-with-npm","challengeType":2,"title":"Aggiungere una descrizione al tuo package.json","order":0,"superBlock":"back-end-development-and-apis","dashedName":"add-a-description-to-your-package-json","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-description-to-your-package-json","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb4367417b2b2512bfd","block":"managing-packages-with-npm","challengeType":2,"title":"Aggiungere parole chiave al tuo package.json","order":0,"superBlock":"back-end-development-and-apis","dashedName":"add-keywords-to-your-package-json","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/add-keywords-to-your-package-json","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb4367417b2b2512bfe","block":"managing-packages-with-npm","challengeType":2,"title":"Aggiungere una licenza al tuo package.json","order":0,"superBlock":"back-end-development-and-apis","dashedName":"add-a-license-to-your-package-json","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-license-to-your-package-json","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb4367417b2b2512bff","block":"managing-packages-with-npm","challengeType":2,"title":"Aggiungere una versione al tuo package.json","order":0,"superBlock":"back-end-development-and-apis","dashedName":"add-a-version-to-your-package-json","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-version-to-your-package-json","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb4367417b2b2512c00","block":"managing-packages-with-npm","challengeType":2,"title":"Espandere il tuo progetto con pacchetti esterni di npm","order":0,"superBlock":"back-end-development-and-apis","dashedName":"expand-your-project-with-external-packages-from-npm","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/expand-your-project-with-external-packages-from-npm","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb5367417b2b2512c01","block":"managing-packages-with-npm","challengeType":2,"title":"Gestire le dipendenze npm comprendendo il versioning semantico","order":0,"superBlock":"back-end-development-and-apis","dashedName":"manage-npm-dependencies-by-understanding-semantic-versioning","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/manage-npm-dependencies-by-understanding-semantic-versioning","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb5367417b2b2512c02","block":"managing-packages-with-npm","challengeType":2,"title":"Usare il carattere tilde per utilizzare sempre l'ultima versione patch di una dipendenza","order":0,"superBlock":"back-end-development-and-apis","dashedName":"use-the-tilde-character-to-always-use-the-latest-patch-version-of-a-dependency","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/use-the-tilde-character-to-always-use-the-latest-patch-version-of-a-dependency","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb5367417b2b2512c03","block":"managing-packages-with-npm","challengeType":2,"title":"Usare il simbolo del cursore per specificare l'ultima versione minore di una dipendenza","order":0,"superBlock":"back-end-development-and-apis","dashedName":"use-the-caret-character-to-use-the-latest-minor-version-of-a-dependency","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/use-the-caret-character-to-use-the-latest-minor-version-of-a-dependency","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb5367417b2b2512c04","block":"managing-packages-with-npm","challengeType":2,"title":"Rimuovere un pacchetto dalle tue dipendenze","order":0,"superBlock":"back-end-development-and-apis","dashedName":"remove-a-package-from-your-dependencies","fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/remove-a-package-from-your-dependencies","blockName":"Managing Packages with Npm"}}}},{"node":{"challenge":{"id":"587d7fb0367417b2b2512bed","block":"basic-node-and-express","challengeType":2,"title":"Introduzione alla console di Node","order":1,"superBlock":"back-end-development-and-apis","dashedName":"meet-the-node-console","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/meet-the-node-console","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb0367417b2b2512bee","block":"basic-node-and-express","challengeType":2,"title":"Avviare un server Express funzionante","order":1,"superBlock":"back-end-development-and-apis","dashedName":"start-a-working-express-server","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/start-a-working-express-server","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb0367417b2b2512bef","block":"basic-node-and-express","challengeType":2,"title":"Servire un file HTML","order":1,"superBlock":"back-end-development-and-apis","dashedName":"serve-an-html-file","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/serve-an-html-file","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb0367417b2b2512bf0","block":"basic-node-and-express","challengeType":2,"title":"Servire Risorse Statiche","order":1,"superBlock":"back-end-development-and-apis","dashedName":"serve-static-assets","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/serve-static-assets","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb1367417b2b2512bf1","block":"basic-node-and-express","challengeType":2,"title":"Servire un JSON su una rotta specifica","order":1,"superBlock":"back-end-development-and-apis","dashedName":"serve-json-on-a-specific-route","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb1367417b2b2512bf2","block":"basic-node-and-express","challengeType":2,"title":"Usare il file .env","order":1,"superBlock":"back-end-development-and-apis","dashedName":"use-the--env-file","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/use-the--env-file","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb1367417b2b2512bf3","block":"basic-node-and-express","challengeType":2,"title":"Implementare un middleware logger di richiesta a livello radice","order":1,"superBlock":"back-end-development-and-apis","dashedName":"implement-a-root-level-request-logger-middleware","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/implement-a-root-level-request-logger-middleware","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb1367417b2b2512bf4","block":"basic-node-and-express","challengeType":2,"title":"Concatenare il middleware per creare un Time Server","order":1,"superBlock":"back-end-development-and-apis","dashedName":"chain-middleware-to-create-a-time-server","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/chain-middleware-to-create-a-time-server","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb2367417b2b2512bf5","block":"basic-node-and-express","challengeType":2,"title":"Ottenere l'input del parametro della rotta dal client","order":1,"superBlock":"back-end-development-and-apis","dashedName":"get-route-parameter-input-from-the-client","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/get-route-parameter-input-from-the-client","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb2367417b2b2512bf6","block":"basic-node-and-express","challengeType":2,"title":"Ottenere l'input del parametro query dal client","order":1,"superBlock":"back-end-development-and-apis","dashedName":"get-query-parameter-input-from-the-client","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/get-query-parameter-input-from-the-client","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb2367417b2b2512bf7","block":"basic-node-and-express","challengeType":2,"title":"Usare il body parser per analizzare le richieste POST","order":1,"superBlock":"back-end-development-and-apis","dashedName":"use-body-parser-to-parse-post-requests","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/use-body-parser-to-parse-post-requests","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb2367417b2b2512bf8","block":"basic-node-and-express","challengeType":2,"title":"Ottenere dati dalle richieste POST","order":1,"superBlock":"back-end-development-and-apis","dashedName":"get-data-from-post-requests","fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/get-data-from-post-requests","blockName":"Basic Node and Express"}}}},{"node":{"challenge":{"id":"587d7fb6367417b2b2512c06","block":"mongodb-and-mongoose","challengeType":2,"title":"Installare e configurare Mongoose","order":2,"superBlock":"back-end-development-and-apis","dashedName":"install-and-set-up-mongoose","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb6367417b2b2512c07","block":"mongodb-and-mongoose","challengeType":2,"title":"Creare un modello","order":2,"superBlock":"back-end-development-and-apis","dashedName":"create-a-model","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/create-a-model","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb6367417b2b2512c09","block":"mongodb-and-mongoose","challengeType":2,"title":"Creare e salvare un record di un modello","order":2,"superBlock":"back-end-development-and-apis","dashedName":"create-and-save-a-record-of-a-model","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/create-and-save-a-record-of-a-model","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb7367417b2b2512c0a","block":"mongodb-and-mongoose","challengeType":2,"title":"Creare diversi record con model.create()","order":2,"superBlock":"back-end-development-and-apis","dashedName":"create-many-records-with-model-create","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/create-many-records-with-model-create","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb7367417b2b2512c0b","block":"mongodb-and-mongoose","challengeType":2,"title":"Usare model.find() per fare ricerche nel database","order":2,"superBlock":"back-end-development-and-apis","dashedName":"use-model-find-to-search-your-database","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-find-to-search-your-database","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb7367417b2b2512c0c","block":"mongodb-and-mongoose","challengeType":2,"title":"Usare model.findOne() per restituire un singolo documento corrispondente dal tuo database","order":2,"superBlock":"back-end-development-and-apis","dashedName":"use-model-findone-to-return-a-single-matching-document-from-your-database","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-findone-to-return-a-single-matching-document-from-your-database","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb7367417b2b2512c0d","block":"mongodb-and-mongoose","challengeType":2,"title":"Usare model.findById() per cercare nel database in base all'_id","order":2,"superBlock":"back-end-development-and-apis","dashedName":"use-model-findbyid-to-search-your-database-by-id","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-findbyid-to-search-your-database-by-id","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb8367417b2b2512c0e","block":"mongodb-and-mongoose","challengeType":2,"title":"Eseguire classici aggiornamenti eseguendo Find, Edit e Save","order":2,"superBlock":"back-end-development-and-apis","dashedName":"perform-classic-updates-by-running-find-edit-then-save","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/perform-classic-updates-by-running-find-edit-then-save","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb8367417b2b2512c0f","block":"mongodb-and-mongoose","challengeType":2,"title":"Eseguire nuovi aggiornamenti su un documento utilizzando model.findOneAndUpdate()","order":2,"superBlock":"back-end-development-and-apis","dashedName":"perform-new-updates-on-a-document-using-model-findoneandupdate","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/perform-new-updates-on-a-document-using-model-findoneandupdate","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb8367417b2b2512c10","block":"mongodb-and-mongoose","challengeType":2,"title":"Eliminare un documento usando model.findByIdAndRemove","order":2,"superBlock":"back-end-development-and-apis","dashedName":"delete-one-document-using-model-findbyidandremove","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/delete-one-document-using-model-findbyidandremove","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb8367417b2b2512c11","block":"mongodb-and-mongoose","challengeType":2,"title":"Eliminare molti documenti con model.remove()","order":2,"superBlock":"back-end-development-and-apis","dashedName":"delete-many-documents-with-model-remove","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/delete-many-documents-with-model-remove","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"587d7fb9367417b2b2512c12","block":"mongodb-and-mongoose","challengeType":2,"title":"Concatenare gli helper delle query per restringere i risultati di ricerca","order":2,"superBlock":"back-end-development-and-apis","dashedName":"chain-search-query-helpers-to-narrow-search-results","fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/chain-search-query-helpers-to-narrow-search-results","blockName":"MongoDB and Mongoose"}}}},{"node":{"challenge":{"id":"bd7158d8c443edefaeb5bdef","block":"back-end-development-and-apis-projects","challengeType":4,"title":"Microservizio Timestamp","order":3,"superBlock":"back-end-development-and-apis","dashedName":"timestamp-microservice","fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice","blockName":"Back End Development and APIs Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443edefaeb5bdff","block":"back-end-development-and-apis-projects","challengeType":4,"title":"Microservizio Parser di header della richiesta","order":3,"superBlock":"back-end-development-and-apis","dashedName":"request-header-parser-microservice","fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice","blockName":"Back End Development and APIs Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443edefaeb5bd0e","block":"back-end-development-and-apis-projects","challengeType":4,"title":"Microservizio di Abbreviazione URL","order":3,"superBlock":"back-end-development-and-apis","dashedName":"url-shortener-microservice","fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice","blockName":"Back End Development and APIs Projects"}}}},{"node":{"challenge":{"id":"5a8b073d06fa14fcfde687aa","block":"back-end-development-and-apis-projects","challengeType":4,"title":"Monitor degli esercizi","order":3,"superBlock":"back-end-development-and-apis","dashedName":"exercise-tracker","fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker","blockName":"Back End Development and APIs Projects"}}}},{"node":{"challenge":{"id":"bd7158d8c443edefaeb5bd0f","block":"back-end-development-and-apis-projects","challengeType":4,"title":"Microservizio Metadati di un file","order":3,"superBlock":"back-end-development-and-apis","dashedName":"file-metadata-microservice","fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice","blockName":"Back End Development and APIs Projects"}}}},{"node":{"challenge":{"id":"587d824a367417b2b2512c46","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Learn How JavaScript Assertions Work","order":0,"superBlock":"quality-assurance","dashedName":"learn-how-javascript-assertions-work","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824b367417b2b2512c47","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a Variable or Function is Defined","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-variable-or-function-is-defined","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-variable-or-function-is-defined","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824b367417b2b2512c48","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Use Assert.isOK and Assert.isNotOK","order":0,"superBlock":"quality-assurance","dashedName":"use-assert-isok-and-assert-isnotok","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-assert-isok-and-assert-isnotok","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824b367417b2b2512c49","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test for Truthiness","order":0,"superBlock":"quality-assurance","dashedName":"test-for-truthiness","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-for-truthiness","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824b367417b2b2512c4a","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Use the Double Equals to Assert Equality","order":0,"superBlock":"quality-assurance","dashedName":"use-the-double-equals-to-assert-equality","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-the-double-equals-to-assert-equality","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824b367417b2b2512c4b","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Use the Triple Equals to Assert Strict Equality","order":0,"superBlock":"quality-assurance","dashedName":"use-the-triple-equals-to-assert-strict-equality","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-the-triple-equals-to-assert-strict-equality","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824c367417b2b2512c4c","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Assert Deep Equality with .deepEqual and .notDeepEqual","order":0,"superBlock":"quality-assurance","dashedName":"assert-deep-equality-with--deepequal-and--notdeepequal","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/assert-deep-equality-with--deepequal-and--notdeepequal","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824c367417b2b2512c4d","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Compare the Properties of Two Elements","order":0,"superBlock":"quality-assurance","dashedName":"compare-the-properties-of-two-elements","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/compare-the-properties-of-two-elements","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824c367417b2b2512c4e","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if One Value is Below or At Least as Large as Another","order":0,"superBlock":"quality-assurance","dashedName":"test-if-one-value-is-below-or-at-least-as-large-as-another","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-one-value-is-below-or-at-least-as-large-as-another","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824c367417b2b2512c4f","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a Value Falls within a Specific Range","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-value-falls-within-a-specific-range","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-falls-within-a-specific-range","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824d367417b2b2512c50","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a Value is an Array","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-value-is-an-array","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-an-array","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824d367417b2b2512c51","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if an Array Contains an Item","order":0,"superBlock":"quality-assurance","dashedName":"test-if-an-array-contains-an-item","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-array-contains-an-item","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824d367417b2b2512c52","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a Value is a String","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-value-is-a-string","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-a-string","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824d367417b2b2512c53","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a String Contains a Substring","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-string-contains-a-substring","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-string-contains-a-substring","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824d367417b2b2512c54","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Use Regular Expressions to Test a String","order":0,"superBlock":"quality-assurance","dashedName":"use-regular-expressions-to-test-a-string","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-regular-expressions-to-test-a-string","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824e367417b2b2512c55","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if an Object has a Property","order":0,"superBlock":"quality-assurance","dashedName":"test-if-an-object-has-a-property","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-object-has-a-property","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824e367417b2b2512c56","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if a Value is of a Specific Data Structure Type","order":0,"superBlock":"quality-assurance","dashedName":"test-if-a-value-is-of-a-specific-data-structure-type","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-of-a-specific-data-structure-type","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824e367417b2b2512c57","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Test if an Object is an Instance of a Constructor","order":0,"superBlock":"quality-assurance","dashedName":"test-if-an-object-is-an-instance-of-a-constructor","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-object-is-an-instance-of-a-constructor","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824e367417b2b2512c58","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests on API Endpoints using Chai-HTTP","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-on-api-endpoints-using-chai-http","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824f367417b2b2512c59","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests on API Endpoints using Chai-HTTP II","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-on-api-endpoints-using-chai-http-ii","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http-ii","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824f367417b2b2512c5a","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests on an API Response using Chai-HTTP III - PUT method","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-on-an-api-response-using-chai-http-iii---put-method","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iii---put-method","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824f367417b2b2512c5b","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests on an API Response using Chai-HTTP IV - PUT method","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-on-an-api-response-using-chai-http-iv---put-method","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iv---put-method","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d824f367417b2b2512c5c","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Simulate Actions Using a Headless Browser","order":0,"superBlock":"quality-assurance","dashedName":"simulate-actions-using-a-headless-browser","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/simulate-actions-using-a-headless-browser","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"587d8250367417b2b2512c5d","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests Using a Headless Browser","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-using-a-headless-browser","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-using-a-headless-browser","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"5f8884f4c46685731aabfc41","block":"quality-assurance-and-testing-with-chai","challengeType":2,"title":"Run Functional Tests Using a Headless Browser II","order":0,"superBlock":"quality-assurance","dashedName":"run-functional-tests-using-a-headless-browser-ii","fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-using-a-headless-browser-ii","blockName":"Quality Assurance and Testing with Chai"}}}},{"node":{"challenge":{"id":"5895f700f9fc0f352b528e63","block":"advanced-node-and-express","challengeType":2,"title":"Set up a Template Engine","order":1,"superBlock":"quality-assurance","dashedName":"set-up-a-template-engine","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/set-up-a-template-engine","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70bf9fc0f352b528e64","block":"advanced-node-and-express","challengeType":2,"title":"Use a Template Engine's Powers","order":1,"superBlock":"quality-assurance","dashedName":"use-a-template-engines-powers","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/use-a-template-engines-powers","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70cf9fc0f352b528e65","block":"advanced-node-and-express","challengeType":2,"title":"Set up Passport","order":1,"superBlock":"quality-assurance","dashedName":"set-up-passport","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/set-up-passport","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70cf9fc0f352b528e66","block":"advanced-node-and-express","challengeType":2,"title":"Serialization of a User Object","order":1,"superBlock":"quality-assurance","dashedName":"serialization-of-a-user-object","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/serialization-of-a-user-object","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70cf9fc0f352b528e67","block":"advanced-node-and-express","challengeType":2,"title":"Implement the Serialization of a Passport User","order":1,"superBlock":"quality-assurance","dashedName":"implement-the-serialization-of-a-passport-user","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70df9fc0f352b528e68","block":"advanced-node-and-express","challengeType":2,"title":"Authentication Strategies","order":1,"superBlock":"quality-assurance","dashedName":"authentication-strategies","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/authentication-strategies","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70df9fc0f352b528e69","block":"advanced-node-and-express","challengeType":2,"title":"How to Use Passport Strategies","order":1,"superBlock":"quality-assurance","dashedName":"how-to-use-passport-strategies","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/how-to-use-passport-strategies","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70df9fc0f352b528e6a","block":"advanced-node-and-express","challengeType":2,"title":"Create New Middleware","order":1,"superBlock":"quality-assurance","dashedName":"create-new-middleware","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/create-new-middleware","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"5895f70ef9fc0f352b528e6b","block":"advanced-node-and-express","challengeType":2,"title":"How to Put a Profile Together","order":1,"superBlock":"quality-assurance","dashedName":"how-to-put-a-profile-together","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/how-to-put-a-profile-together","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"58965611f9fc0f352b528e6c","block":"advanced-node-and-express","challengeType":2,"title":"Logging a User Out","order":1,"superBlock":"quality-assurance","dashedName":"logging-a-user-out","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/logging-a-user-out","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"58966a17f9fc0f352b528e6d","block":"advanced-node-and-express","challengeType":2,"title":"Registration of New Users","order":1,"superBlock":"quality-assurance","dashedName":"registration-of-new-users","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/registration-of-new-users","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"58a25c98f9fc0f352b528e7f","block":"advanced-node-and-express","challengeType":2,"title":"Hashing Your Passwords","order":1,"superBlock":"quality-assurance","dashedName":"hashing-your-passwords","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/hashing-your-passwords","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589690e6f9fc0f352b528e6e","block":"advanced-node-and-express","challengeType":2,"title":"Clean Up Your Project with Modules","order":1,"superBlock":"quality-assurance","dashedName":"clean-up-your-project-with-modules","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/clean-up-your-project-with-modules","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589a69f5f9fc0f352b528e70","block":"advanced-node-and-express","challengeType":2,"title":"Implementation of Social Authentication","order":1,"superBlock":"quality-assurance","dashedName":"implementation-of-social-authentication","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589a69f5f9fc0f352b528e71","block":"advanced-node-and-express","challengeType":2,"title":"Implementation of Social Authentication II","order":1,"superBlock":"quality-assurance","dashedName":"implementation-of-social-authentication-ii","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication-ii","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589a8eb3f9fc0f352b528e72","block":"advanced-node-and-express","challengeType":2,"title":"Implementation of Social Authentication III","order":1,"superBlock":"quality-assurance","dashedName":"implementation-of-social-authentication-iii","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication-iii","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc830f9fc0f352b528e74","block":"advanced-node-and-express","challengeType":2,"title":"Set up the Environment","order":1,"superBlock":"quality-assurance","dashedName":"set-up-the-environment","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/set-up-the-environment","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc831f9fc0f352b528e75","block":"advanced-node-and-express","challengeType":2,"title":"Communicate by Emitting","order":1,"superBlock":"quality-assurance","dashedName":"communicate-by-emitting","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/communicate-by-emitting","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc831f9fc0f352b528e76","block":"advanced-node-and-express","challengeType":2,"title":"Handle a Disconnect","order":1,"superBlock":"quality-assurance","dashedName":"handle-a-disconnect","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/handle-a-disconnect","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc831f9fc0f352b528e77","block":"advanced-node-and-express","challengeType":2,"title":"Authentication with Socket.IO","order":1,"superBlock":"quality-assurance","dashedName":"authentication-with-socket-io","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/authentication-with-socket-io","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc832f9fc0f352b528e78","block":"advanced-node-and-express","challengeType":2,"title":"Announce New Users","order":1,"superBlock":"quality-assurance","dashedName":"announce-new-users","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/announce-new-users","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"589fc832f9fc0f352b528e79","block":"advanced-node-and-express","challengeType":2,"title":"Send and Display Chat Messages","order":1,"superBlock":"quality-assurance","dashedName":"send-and-display-chat-messages","fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/send-and-display-chat-messages","blockName":"Advanced Node and Express"}}}},{"node":{"challenge":{"id":"587d8249367417b2b2512c41","block":"quality-assurance-projects","challengeType":4,"title":"Metric-Imperial Converter","order":2,"superBlock":"quality-assurance","dashedName":"metric-imperial-converter","fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/metric-imperial-converter","blockName":"Quality Assurance Projects"}}}},{"node":{"challenge":{"id":"587d8249367417b2b2512c42","block":"quality-assurance-projects","challengeType":4,"title":"Issue Tracker","order":2,"superBlock":"quality-assurance","dashedName":"issue-tracker","fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/issue-tracker","blockName":"Quality Assurance Projects"}}}},{"node":{"challenge":{"id":"587d824a367417b2b2512c43","block":"quality-assurance-projects","challengeType":4,"title":"Personal Library","order":2,"superBlock":"quality-assurance","dashedName":"personal-library","fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/personal-library","blockName":"Quality Assurance Projects"}}}},{"node":{"challenge":{"id":"5e601bf95ac9d0ecd8b94afd","block":"quality-assurance-projects","challengeType":4,"title":"Sudoku Solver","order":2,"superBlock":"quality-assurance","dashedName":"sudoku-solver","fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/sudoku-solver","blockName":"Quality Assurance Projects"}}}},{"node":{"challenge":{"id":"5e601c0d5ac9d0ecd8b94afe","block":"quality-assurance-projects","challengeType":4,"title":"American British Translator","order":2,"superBlock":"quality-assurance","dashedName":"american-british-translator","fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/american-british-translator","blockName":"Quality Assurance Projects"}}}},{"node":{"challenge":{"id":"5e6a54a558d3af90110a60a0","block":"python-for-everybody","challengeType":11,"title":"Introduction: Why Program?","order":0,"superBlock":"scientific-computing-with-python","dashedName":"introduction-why-program","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/introduction-why-program","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e6a54af58d3af90110a60a1","block":"python-for-everybody","challengeType":11,"title":"Introduction: Hardware Architecture","order":0,"superBlock":"scientific-computing-with-python","dashedName":"introduction-hardware-architecture","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/introduction-hardware-architecture","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e6a54ba58d3af90110a60a2","block":"python-for-everybody","challengeType":11,"title":"Introduction: Python as a Language","order":0,"superBlock":"scientific-computing-with-python","dashedName":"introduction-python-as-a-language","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/introduction-python-as-a-language","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e6a54c358d3af90110a60a3","block":"python-for-everybody","challengeType":11,"title":"Introduction: Elements of Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"introduction-elements-of-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/introduction-elements-of-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f050b6c005b0e76f056","block":"python-for-everybody","challengeType":11,"title":"Variables, Expressions, and Statements","order":0,"superBlock":"scientific-computing-with-python","dashedName":"variables-expressions-and-statements","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/variables-expressions-and-statements","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f050b6c005b0e76f057","block":"python-for-everybody","challengeType":11,"title":"Intermediate Expressions","order":0,"superBlock":"scientific-computing-with-python","dashedName":"intermediate-expressions","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/intermediate-expressions","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f050b6c005b0e76f058","block":"python-for-everybody","challengeType":11,"title":"Conditional Execution","order":0,"superBlock":"scientific-computing-with-python","dashedName":"conditional-execution","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/conditional-execution","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f060b6c005b0e76f059","block":"python-for-everybody","challengeType":11,"title":"More Conditional Structures","order":0,"superBlock":"scientific-computing-with-python","dashedName":"more-conditional-structures","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/more-conditional-structures","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f060b6c005b0e76f05a","block":"python-for-everybody","challengeType":11,"title":"Python Functions","order":0,"superBlock":"scientific-computing-with-python","dashedName":"python-functions","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/python-functions","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f060b6c005b0e76f05b","block":"python-for-everybody","challengeType":11,"title":"Build your own Functions","order":0,"superBlock":"scientific-computing-with-python","dashedName":"build-your-own-functions","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/build-your-own-functions","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f060b6c005b0e76f05c","block":"python-for-everybody","challengeType":11,"title":"Loops and Iterations","order":0,"superBlock":"scientific-computing-with-python","dashedName":"loops-and-iterations","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/loops-and-iterations","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f070b6c005b0e76f05d","block":"python-for-everybody","challengeType":11,"title":"Iterations: Definite Loops","order":0,"superBlock":"scientific-computing-with-python","dashedName":"iterations-definite-loops","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/iterations-definite-loops","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f070b6c005b0e76f05e","block":"python-for-everybody","challengeType":11,"title":"Iterations: Loop Idioms","order":0,"superBlock":"scientific-computing-with-python","dashedName":"iterations-loop-idioms","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/iterations-loop-idioms","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f070b6c005b0e76f05f","block":"python-for-everybody","challengeType":11,"title":"Iterations: More Patterns","order":0,"superBlock":"scientific-computing-with-python","dashedName":"iterations-more-patterns","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/iterations-more-patterns","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f070b6c005b0e76f060","block":"python-for-everybody","challengeType":11,"title":"Strings in Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"strings-in-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/strings-in-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f070b6c005b0e76f061","block":"python-for-everybody","challengeType":11,"title":"Intermediate Strings","order":0,"superBlock":"scientific-computing-with-python","dashedName":"intermediate-strings","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/intermediate-strings","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f080b6c005b0e76f062","block":"python-for-everybody","challengeType":11,"title":"Reading Files","order":0,"superBlock":"scientific-computing-with-python","dashedName":"reading-files","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/reading-files","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f080b6c005b0e76f063","block":"python-for-everybody","challengeType":11,"title":"Files as a Sequence","order":0,"superBlock":"scientific-computing-with-python","dashedName":"files-as-a-sequence","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/files-as-a-sequence","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f080b6c005b0e76f064","block":"python-for-everybody","challengeType":11,"title":"Python Lists","order":0,"superBlock":"scientific-computing-with-python","dashedName":"python-lists","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/python-lists","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f090b6c005b0e76f065","block":"python-for-everybody","challengeType":11,"title":"Working with Lists","order":0,"superBlock":"scientific-computing-with-python","dashedName":"working-with-lists","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/working-with-lists","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f090b6c005b0e76f066","block":"python-for-everybody","challengeType":11,"title":"Strings and Lists","order":0,"superBlock":"scientific-computing-with-python","dashedName":"strings-and-lists","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/strings-and-lists","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f090b6c005b0e76f067","block":"python-for-everybody","challengeType":11,"title":"Python Dictionaries","order":0,"superBlock":"scientific-computing-with-python","dashedName":"python-dictionaries","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/python-dictionaries","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f090b6c005b0e76f068","block":"python-for-everybody","challengeType":11,"title":"Dictionaries: Common Applications","order":0,"superBlock":"scientific-computing-with-python","dashedName":"dictionaries-common-applications","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/dictionaries-common-applications","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0a0b6c005b0e76f069","block":"python-for-everybody","challengeType":11,"title":"Dictionaries and Loops","order":0,"superBlock":"scientific-computing-with-python","dashedName":"dictionaries-and-loops","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/dictionaries-and-loops","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0a0b6c005b0e76f06c","block":"python-for-everybody","challengeType":11,"title":"The Tuples Collection","order":0,"superBlock":"scientific-computing-with-python","dashedName":"the-tuples-collection","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/the-tuples-collection","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0b0b6c005b0e76f06d","block":"python-for-everybody","challengeType":11,"title":"Comparing and Sorting Tuples","order":0,"superBlock":"scientific-computing-with-python","dashedName":"comparing-and-sorting-tuples","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/comparing-and-sorting-tuples","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0b0b6c005b0e76f06e","block":"python-for-everybody","challengeType":11,"title":"Regular Expressions","order":0,"superBlock":"scientific-computing-with-python","dashedName":"regular-expressions","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/regular-expressions","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0b0b6c005b0e76f06f","block":"python-for-everybody","challengeType":11,"title":"Regular Expressions: Matching and Extracting Data","order":0,"superBlock":"scientific-computing-with-python","dashedName":"regular-expressions-matching-and-extracting-data","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/regular-expressions-matching-and-extracting-data","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0b0b6c005b0e76f070","block":"python-for-everybody","challengeType":11,"title":"Regular Expressions: Practical Applications","order":0,"superBlock":"scientific-computing-with-python","dashedName":"regular-expressions-practical-applications","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/regular-expressions-practical-applications","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0c0b6c005b0e76f071","block":"python-for-everybody","challengeType":11,"title":"Networking with Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-with-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-with-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0c0b6c005b0e76f072","block":"python-for-everybody","challengeType":11,"title":"Networking Protocol","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-protocol","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-protocol","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0c0b6c005b0e76f073","block":"python-for-everybody","challengeType":11,"title":"Networking: Write a Web Browser","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-write-a-web-browser","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-write-a-web-browser","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0c0b6c005b0e76f074","block":"python-for-everybody","challengeType":11,"title":"Networking: Text Processing","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-text-processing","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-text-processing","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0d0b6c005b0e76f075","block":"python-for-everybody","challengeType":11,"title":"Networking: Using urllib in Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-using-urllib-in-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-using-urllib-in-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0d0b6c005b0e76f076","block":"python-for-everybody","challengeType":11,"title":"Networking: Web Scraping with Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"networking-web-scraping-with-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/networking-web-scraping-with-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0e0b6c005b0e76f07a","block":"python-for-everybody","challengeType":11,"title":"Using Web Services","order":0,"superBlock":"scientific-computing-with-python","dashedName":"using-web-services","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/using-web-services","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0e0b6c005b0e76f07b","block":"python-for-everybody","challengeType":11,"title":"Web Services: XML","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-xml","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-xml","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f0e0b6c005b0e76f07c","block":"python-for-everybody","challengeType":11,"title":"Web Services: XML Schema","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-xml-schema","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-xml-schema","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f140b6c005b0e76f07d","block":"python-for-everybody","challengeType":11,"title":"Web Services: JSON","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-json","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-json","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f140b6c005b0e76f07e","block":"python-for-everybody","challengeType":11,"title":"Web Services: Service Oriented Approach","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-service-oriented-approach","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-service-oriented-approach","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f150b6c005b0e76f07f","block":"python-for-everybody","challengeType":11,"title":"Web Services: APIs","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-apis","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-apis","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f150b6c005b0e76f080","block":"python-for-everybody","challengeType":11,"title":"Web Services: API Rate Limiting and Security","order":0,"superBlock":"scientific-computing-with-python","dashedName":"web-services-api-rate-limiting-and-security","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/web-services-api-rate-limiting-and-security","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f160b6c005b0e76f085","block":"python-for-everybody","challengeType":11,"title":"Python Objects","order":0,"superBlock":"scientific-computing-with-python","dashedName":"python-objects","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/python-objects","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f160b6c005b0e76f086","block":"python-for-everybody","challengeType":11,"title":"Objects: A Sample Class","order":0,"superBlock":"scientific-computing-with-python","dashedName":"objects-a-sample-class","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/objects-a-sample-class","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f170b6c005b0e76f087","block":"python-for-everybody","challengeType":11,"title":"Object Lifecycle","order":0,"superBlock":"scientific-computing-with-python","dashedName":"object-lifecycle","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/object-lifecycle","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f170b6c005b0e76f088","block":"python-for-everybody","challengeType":11,"title":"Objects: Inheritance","order":0,"superBlock":"scientific-computing-with-python","dashedName":"objects-inheritance","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/objects-inheritance","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f170b6c005b0e76f08a","block":"python-for-everybody","challengeType":11,"title":"Relational Databases and SQLite","order":0,"superBlock":"scientific-computing-with-python","dashedName":"relational-databases-and-sqlite","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f170b6c005b0e76f08b","block":"python-for-everybody","challengeType":11,"title":"Make a Relational Database","order":0,"superBlock":"scientific-computing-with-python","dashedName":"make-a-relational-database","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/make-a-relational-database","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f180b6c005b0e76f08c","block":"python-for-everybody","challengeType":11,"title":"Relational Database Design","order":0,"superBlock":"scientific-computing-with-python","dashedName":"relational-database-design","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/relational-database-design","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f180b6c005b0e76f08d","block":"python-for-everybody","challengeType":11,"title":"Representing Relationships in a Relational Database","order":0,"superBlock":"scientific-computing-with-python","dashedName":"representing-relationships-in-a-relational-database","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/representing-relationships-in-a-relational-database","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f180b6c005b0e76f08e","block":"python-for-everybody","challengeType":11,"title":"Relational Databases: Relationship Building","order":0,"superBlock":"scientific-computing-with-python","dashedName":"relational-databases-relationship-building","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/relational-databases-relationship-building","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f180b6c005b0e76f08f","block":"python-for-everybody","challengeType":11,"title":"Relational Databases: Join Operation","order":0,"superBlock":"scientific-computing-with-python","dashedName":"relational-databases-join-operation","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/relational-databases-join-operation","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f190b6c005b0e76f090","block":"python-for-everybody","challengeType":11,"title":"Relational Databases: Many-to-many Relationships","order":0,"superBlock":"scientific-computing-with-python","dashedName":"relational-databases-many-to-many-relationships","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/relational-databases-many-to-many-relationships","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f690b6c005b0e76f095","block":"python-for-everybody","challengeType":11,"title":"Visualizing Data with Python","order":0,"superBlock":"scientific-computing-with-python","dashedName":"visualizing-data-with-python","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/visualizing-data-with-python","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f6a0b6c005b0e76f096","block":"python-for-everybody","challengeType":11,"title":"Data Visualization: Page Rank","order":0,"superBlock":"scientific-computing-with-python","dashedName":"data-visualization-page-rank","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/data-visualization-page-rank","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e7b9f6a0b6c005b0e76f097","block":"python-for-everybody","challengeType":11,"title":"Data Visualization: Mailing Lists","order":0,"superBlock":"scientific-computing-with-python","dashedName":"data-visualization-mailing-lists","fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/data-visualization-mailing-lists","blockName":"Python for Everybody"}}}},{"node":{"challenge":{"id":"5e44412c903586ffb414c94c","block":"scientific-computing-with-python-projects","challengeType":10,"title":"Arithmetic Formatter","order":1,"superBlock":"scientific-computing-with-python","dashedName":"arithmetic-formatter","fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/arithmetic-formatter","blockName":"Scientific Computing with Python Projects"}}}},{"node":{"challenge":{"id":"5e444136903586ffb414c94d","block":"scientific-computing-with-python-projects","challengeType":10,"title":"Time Calculator","order":1,"superBlock":"scientific-computing-with-python","dashedName":"time-calculator","fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/time-calculator","blockName":"Scientific Computing with Python Projects"}}}},{"node":{"challenge":{"id":"5e44413e903586ffb414c94e","block":"scientific-computing-with-python-projects","challengeType":10,"title":"Budget App","order":1,"superBlock":"scientific-computing-with-python","dashedName":"budget-app","fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/budget-app","blockName":"Scientific Computing with Python Projects"}}}},{"node":{"challenge":{"id":"5e444147903586ffb414c94f","block":"scientific-computing-with-python-projects","challengeType":10,"title":"Polygon Area Calculator","order":1,"superBlock":"scientific-computing-with-python","dashedName":"polygon-area-calculator","fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/polygon-area-calculator","blockName":"Scientific Computing with Python Projects"}}}},{"node":{"challenge":{"id":"5e44414f903586ffb414c950","block":"scientific-computing-with-python-projects","challengeType":10,"title":"Probability Calculator","order":1,"superBlock":"scientific-computing-with-python","dashedName":"probability-calculator","fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/probability-calculator","blockName":"Scientific Computing with Python Projects"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c14c","block":"data-analysis-with-python-course","challengeType":11,"title":"Introduction to Data Analysis","order":0,"superBlock":"data-analysis-with-python","dashedName":"introduction-to-data-analysis","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/introduction-to-data-analysis","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c14d","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Analysis Example A","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-analysis-example-a","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-a","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c14e","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Analysis Example B","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-analysis-example-b","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-b","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c14f","block":"data-analysis-with-python-course","challengeType":11,"title":"How to use Jupyter Notebooks Intro","order":0,"superBlock":"data-analysis-with-python","dashedName":"how-to-use-jupyter-notebooks-intro","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/how-to-use-jupyter-notebooks-intro","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c150","block":"data-analysis-with-python-course","challengeType":11,"title":"Jupyter Notebooks Cells","order":0,"superBlock":"data-analysis-with-python","dashedName":"jupyter-notebooks-cells","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-cells","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c151","block":"data-analysis-with-python-course","challengeType":11,"title":"Jupyter Notebooks Importing and Exporting Data","order":0,"superBlock":"data-analysis-with-python","dashedName":"jupyter-notebooks-importing-and-exporting-data","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-importing-and-exporting-data","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c152","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Introduction A","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-introduction-a","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c153","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Introduction B","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-introduction-b","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-b","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c154","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Arrays","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-arrays","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-arrays","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c155","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Operations","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-operations","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-operations","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c156","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Boolean Arrays","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-boolean-arrays","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-boolean-arrays","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c157","block":"data-analysis-with-python-course","challengeType":11,"title":"Numpy Algebra and Size","order":0,"superBlock":"data-analysis-with-python","dashedName":"numpy-algebra-and-size","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-algebra-and-size","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c158","block":"data-analysis-with-python-course","challengeType":11,"title":"Pandas Introduction","order":0,"superBlock":"data-analysis-with-python","dashedName":"pandas-introduction","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-introduction","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c159","block":"data-analysis-with-python-course","challengeType":11,"title":"Pandas Indexing and Conditional Selection","order":0,"superBlock":"data-analysis-with-python","dashedName":"pandas-indexing-and-conditional-selection","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-indexing-and-conditional-selection","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15a","block":"data-analysis-with-python-course","challengeType":11,"title":"Pandas DataFrames","order":0,"superBlock":"data-analysis-with-python","dashedName":"pandas-dataframes","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-dataframes","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15b","block":"data-analysis-with-python-course","challengeType":11,"title":"Pandas Conditional Selection and Modifying DataFrames","order":0,"superBlock":"data-analysis-with-python","dashedName":"pandas-conditional-selection-and-modifying-dataframes","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-conditional-selection-and-modifying-dataframes","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15c","block":"data-analysis-with-python-course","challengeType":11,"title":"Pandas Creating Columns","order":0,"superBlock":"data-analysis-with-python","dashedName":"pandas-creating-columns","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15d","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Cleaning Introduction","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-cleaning-introduction","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-introduction","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15e","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Cleaning with DataFrames","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-cleaning-with-dataframes","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-with-dataframes","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c15f","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Cleaning Duplicates","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-cleaning-duplicates","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-duplicates","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c160","block":"data-analysis-with-python-course","challengeType":11,"title":"Data Cleaning and Visualizations","order":0,"superBlock":"data-analysis-with-python","dashedName":"data-cleaning-and-visualizations","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-and-visualizations","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c161","block":"data-analysis-with-python-course","challengeType":11,"title":"Reading Data Introduction","order":0,"superBlock":"data-analysis-with-python","dashedName":"reading-data-introduction","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c162","block":"data-analysis-with-python-course","challengeType":11,"title":"Reading Data CSV and TXT","order":0,"superBlock":"data-analysis-with-python","dashedName":"reading-data-csv-and-txt","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-csv-and-txt","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c163","block":"data-analysis-with-python-course","challengeType":11,"title":"Reading Data from Databases","order":0,"superBlock":"data-analysis-with-python","dashedName":"reading-data-from-databases","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-from-databases","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c164","block":"data-analysis-with-python-course","challengeType":11,"title":"Parsing HTML and Saving Data","order":0,"superBlock":"data-analysis-with-python","dashedName":"parsing-html-and-saving-data","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/parsing-html-and-saving-data","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c165","block":"data-analysis-with-python-course","challengeType":11,"title":"Python Introduction","order":0,"superBlock":"data-analysis-with-python","dashedName":"python-introduction","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/python-introduction","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c166","block":"data-analysis-with-python-course","challengeType":11,"title":"Python Functions and Collections","order":0,"superBlock":"data-analysis-with-python","dashedName":"python-functions-and-collections","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a093a74c4063ca6f7c167","block":"data-analysis-with-python-course","challengeType":11,"title":"Python Iteration and Modules","order":0,"superBlock":"data-analysis-with-python","dashedName":"python-iteration-and-modules","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/python-iteration-and-modules","blockName":"Data Analysis with Python Course"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed2","block":"numpy","challengeType":11,"title":"What is NumPy","order":1,"superBlock":"data-analysis-with-python","dashedName":"what-is-numpy","fields":{"slug":"/learn/data-analysis-with-python/numpy/what-is-numpy","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed3","block":"numpy","challengeType":11,"title":"Basics of Numpy","order":1,"superBlock":"data-analysis-with-python","dashedName":"basics-of-numpy","fields":{"slug":"/learn/data-analysis-with-python/numpy/basics-of-numpy","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed4","block":"numpy","challengeType":11,"title":"Accessing and Changing Elements, Rows, Columns","order":1,"superBlock":"data-analysis-with-python","dashedName":"accessing-and-changing-elements-rows-columns","fields":{"slug":"/learn/data-analysis-with-python/numpy/accessing-and-changing-elements-rows-columns","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed5","block":"numpy","challengeType":11,"title":"Initializing Different Arrays","order":1,"superBlock":"data-analysis-with-python","dashedName":"initializing-different-arrays","fields":{"slug":"/learn/data-analysis-with-python/numpy/initializing-different-arrays","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed6","block":"numpy","challengeType":11,"title":"Initialize Array Problem","order":1,"superBlock":"data-analysis-with-python","dashedName":"initialize-array-problem","fields":{"slug":"/learn/data-analysis-with-python/numpy/initialize-array-problem","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed7","block":"numpy","challengeType":11,"title":"Copying Arrays Warning","order":1,"superBlock":"data-analysis-with-python","dashedName":"copying-arrays-warning","fields":{"slug":"/learn/data-analysis-with-python/numpy/copying-arrays-warning","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed8","block":"numpy","challengeType":11,"title":"Mathematics","order":1,"superBlock":"data-analysis-with-python","dashedName":"mathematics","fields":{"slug":"/learn/data-analysis-with-python/numpy/mathematics","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600ed9","block":"numpy","challengeType":11,"title":"Reorganizing Arrays","order":1,"superBlock":"data-analysis-with-python","dashedName":"reorganizing-arrays","fields":{"slug":"/learn/data-analysis-with-python/numpy/reorganizing-arrays","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e9a0a8e09c5df3cc3600eda","block":"numpy","challengeType":11,"title":"Loading Data and Advanced Indexing","order":1,"superBlock":"data-analysis-with-python","dashedName":"loading-data-and-advanced-indexing","fields":{"slug":"/learn/data-analysis-with-python/numpy/loading-data-and-advanced-indexing","blockName":"Numpy"}}}},{"node":{"challenge":{"id":"5e46f7e5ac417301a38fb928","block":"data-analysis-with-python-projects","challengeType":10,"title":"Mean-Variance-Standard Deviation Calculator","order":2,"superBlock":"data-analysis-with-python","dashedName":"mean-variance-standard-deviation-calculator","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/mean-variance-standard-deviation-calculator","blockName":"Data Analysis with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f7e5ac417301a38fb929","block":"data-analysis-with-python-projects","challengeType":10,"title":"Demographic Data Analyzer","order":2,"superBlock":"data-analysis-with-python","dashedName":"demographic-data-analyzer","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/demographic-data-analyzer","blockName":"Data Analysis with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f7f8ac417301a38fb92a","block":"data-analysis-with-python-projects","challengeType":10,"title":"Medical Data Visualizer","order":2,"superBlock":"data-analysis-with-python","dashedName":"medical-data-visualizer","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/medical-data-visualizer","blockName":"Data Analysis with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f802ac417301a38fb92b","block":"data-analysis-with-python-projects","challengeType":10,"title":"Page View Time Series Visualizer","order":2,"superBlock":"data-analysis-with-python","dashedName":"page-view-time-series-visualizer","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/page-view-time-series-visualizer","blockName":"Data Analysis with Python Projects"}}}},{"node":{"challenge":{"id":"5e4f5c4b570f7e3a4949899f","block":"data-analysis-with-python-projects","challengeType":10,"title":"Sea Level Predictor","order":2,"superBlock":"data-analysis-with-python","dashedName":"sea-level-predictor","fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor","blockName":"Data Analysis with Python Projects"}}}},{"node":{"challenge":{"id":"587d8247367417b2b2512c36","block":"information-security-with-helmetjs","challengeType":2,"title":"Installare e richiedere Helmet","order":0,"superBlock":"information-security","dashedName":"install-and-require-helmet","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/install-and-require-helmet","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8247367417b2b2512c37","block":"information-security-with-helmetjs","challengeType":2,"title":"Nascondere informazioni potenzialmente pericolose usando helmet.hidePoweredBy()","order":0,"superBlock":"information-security","dashedName":"hide-potentially-dangerous-information-using-helmet-hidepoweredby","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/hide-potentially-dangerous-information-using-helmet-hidepoweredby","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8247367417b2b2512c38","block":"information-security-with-helmetjs","challengeType":2,"title":"Mitigare il rischio di Clickjacking con helmet.frameguard()","order":0,"superBlock":"information-security","dashedName":"mitigate-the-risk-of-clickjacking-with-helmet-frameguard","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/mitigate-the-risk-of-clickjacking-with-helmet-frameguard","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8247367417b2b2512c39","block":"information-security-with-helmetjs","challengeType":2,"title":"Mitigare il rischio di attacchi Cross-Site Scripting (XSS) con helmet.xssFilter()","order":0,"superBlock":"information-security","dashedName":"mitigate-the-risk-of-cross-site-scripting-xss-attacks-with-helmet-xssfilter","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/mitigate-the-risk-of-cross-site-scripting-xss-attacks-with-helmet-xssfilter","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8248367417b2b2512c3a","block":"information-security-with-helmetjs","challengeType":2,"title":"Evitare di dedurre il tipo MIME della risposta con helmet.noSniff()","order":0,"superBlock":"information-security","dashedName":"avoid-inferring-the-response-mime-type-with-helmet-nosniff","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/avoid-inferring-the-response-mime-type-with-helmet-nosniff","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8248367417b2b2512c3b","block":"information-security-with-helmetjs","challengeType":2,"title":"Impedire a IE di aprire HTML non attendibile con helmet.ieNoOpen()","order":0,"superBlock":"information-security","dashedName":"prevent-ie-from-opening-untrusted-html-with-helmet-ienoopen","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/prevent-ie-from-opening-untrusted-html-with-helmet-ienoopen","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8248367417b2b2512c3c","block":"information-security-with-helmetjs","challengeType":2,"title":"Chiedere ai browser di accedere al tuo sito solo tramite HTTPS con helmet.hsts()","order":0,"superBlock":"information-security","dashedName":"ask-browsers-to-access-your-site-via-https-only-with-helmet-hsts","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/ask-browsers-to-access-your-site-via-https-only-with-helmet-hsts","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8248367417b2b2512c3d","block":"information-security-with-helmetjs","challengeType":2,"title":"Disabilitare il precaricamento DNS con helmet.dnsPrefetchControl()","order":0,"superBlock":"information-security","dashedName":"disable-dns-prefetching-with-helmet-dnsprefetchcontrol","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/disable-dns-prefetching-with-helmet-dnsprefetchcontrol","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8249367417b2b2512c3e","block":"information-security-with-helmetjs","challengeType":2,"title":"Disabilitare il caching dal lato client con helmet.noCache()","order":0,"superBlock":"information-security","dashedName":"disable-client-side-caching-with-helmet-nocache","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/disable-client-side-caching-with-helmet-nocache","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8249367417b2b2512c3f","block":"information-security-with-helmetjs","challengeType":2,"title":"Impostare una politica di sicurezza dei contenuti con helmet.contentSecurityPolicy()","order":0,"superBlock":"information-security","dashedName":"set-a-content-security-policy-with-helmet-contentsecuritypolicy","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/set-a-content-security-policy-with-helmet-contentsecuritypolicy","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"587d8249367417b2b2512c40","block":"information-security-with-helmetjs","challengeType":2,"title":"Configurare Helmet usando il middleware 'genitore' helmet()","order":0,"superBlock":"information-security","dashedName":"configure-helmet-using-the-parent-helmet-middleware","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/configure-helmet-using-the-parent-helmet-middleware","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"58a25bcef9fc0f352b528e7c","block":"information-security-with-helmetjs","challengeType":2,"title":"Capire la crittografia hash BCrypt","order":0,"superBlock":"information-security","dashedName":"understand-bcrypt-hashes","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/understand-bcrypt-hashes","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"58a25bcff9fc0f352b528e7d","block":"information-security-with-helmetjs","challengeType":2,"title":"Crittografare e confrontare le password in modo asincrono","order":0,"superBlock":"information-security","dashedName":"hash-and-compare-passwords-asynchronously","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/hash-and-compare-passwords-asynchronously","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"58a25bcff9fc0f352b528e7e","block":"information-security-with-helmetjs","challengeType":2,"title":"Crittografare e confrontare le password in modo sincrono","order":0,"superBlock":"information-security","dashedName":"hash-and-compare-passwords-synchronously","fields":{"slug":"/learn/information-security/information-security-with-helmetjs/hash-and-compare-passwords-synchronously","blockName":"Information Security with HelmetJS"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94dae","block":"python-for-penetration-testing","challengeType":11,"title":"Introduzione e configurazione","order":1,"superBlock":"information-security","dashedName":"introduction-and-setup","fields":{"slug":"/learn/information-security/python-for-penetration-testing/introduction-and-setup","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94daf","block":"python-for-penetration-testing","challengeType":11,"title":"Comprendere i socket e creare un server TCP","order":1,"superBlock":"information-security","dashedName":"understanding-sockets-and-creating-a-tcp-server","fields":{"slug":"/learn/information-security/python-for-penetration-testing/understanding-sockets-and-creating-a-tcp-server","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94db0","block":"python-for-penetration-testing","challengeType":11,"title":"Creare un client TCP","order":1,"superBlock":"information-security","dashedName":"creating-a-tcp-client","fields":{"slug":"/learn/information-security/python-for-penetration-testing/creating-a-tcp-client","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94db1","block":"python-for-penetration-testing","challengeType":11,"title":"Sviluppare uno scanner Nmap parte 1","order":1,"superBlock":"information-security","dashedName":"developing-an-nmap-scanner-part-1","fields":{"slug":"/learn/information-security/python-for-penetration-testing/developing-an-nmap-scanner-part-1","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94db2","block":"python-for-penetration-testing","challengeType":11,"title":"Sviluppare uno scanner Nmap parte 2","order":1,"superBlock":"information-security","dashedName":"developing-an-nmap-scanner-part-2","fields":{"slug":"/learn/information-security/python-for-penetration-testing/developing-an-nmap-scanner-part-2","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94db3","block":"python-for-penetration-testing","challengeType":11,"title":"Sviluppare un Banner Grabber","order":1,"superBlock":"information-security","dashedName":"developing-a-banner-grabber","fields":{"slug":"/learn/information-security/python-for-penetration-testing/developing-a-banner-grabber","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"5ea9997bbec2e9bc47e94db4","block":"python-for-penetration-testing","challengeType":11,"title":"Sviluppare uno scanner di porte","order":1,"superBlock":"information-security","dashedName":"developing-a-port-scanner","fields":{"slug":"/learn/information-security/python-for-penetration-testing/developing-a-port-scanner","blockName":"Python for Penetration Testing"}}}},{"node":{"challenge":{"id":"587d824a367417b2b2512c44","block":"information-security-projects","challengeType":4,"title":"Controllo del prezzo delle azioni","order":2,"superBlock":"information-security","dashedName":"stock-price-checker","fields":{"slug":"/learn/information-security/information-security-projects/stock-price-checker","blockName":"Information Security Projects"}}}},{"node":{"challenge":{"id":"587d824a367417b2b2512c45","block":"information-security-projects","challengeType":4,"title":"Bacheca anonima","order":2,"superBlock":"information-security","dashedName":"anonymous-message-board","fields":{"slug":"/learn/information-security/information-security-projects/anonymous-message-board","blockName":"Information Security Projects"}}}},{"node":{"challenge":{"id":"5e46f979ac417301a38fb932","block":"information-security-projects","challengeType":10,"title":"Scanner di porte","order":2,"superBlock":"information-security","dashedName":"port-scanner","fields":{"slug":"/learn/information-security/information-security-projects/port-scanner","blockName":"Information Security Projects"}}}},{"node":{"challenge":{"id":"5e46f983ac417301a38fb933","block":"information-security-projects","challengeType":10,"title":"Cracker Password SHA-1","order":2,"superBlock":"information-security","dashedName":"sha-1-password-cracker","fields":{"slug":"/learn/information-security/information-security-projects/sha-1-password-cracker","blockName":"Information Security Projects"}}}},{"node":{"challenge":{"id":"5e601c775ac9d0ecd8b94aff","block":"information-security-projects","challengeType":4,"title":"Gioco multiplayer in tempo reale sicuro","order":2,"superBlock":"information-security","dashedName":"secure-real-time-multiplayer-game","fields":{"slug":"/learn/information-security/information-security-projects/secure-real-time-multiplayer-game","blockName":"Information Security Projects"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d87","block":"tensorflow","challengeType":11,"title":"Introduction: Machine Learning Fundamentals","order":0,"superBlock":"machine-learning-with-python","dashedName":"introduction-machine-learning-fundamentals","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/introduction-machine-learning-fundamentals","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d88","block":"tensorflow","challengeType":11,"title":"Introduction to TensorFlow","order":0,"superBlock":"machine-learning-with-python","dashedName":"introduction-to-tensorflow","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/introduction-to-tensorflow","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d89","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8a","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Working with Data","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-working-with-data","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-working-with-data","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8b","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Training and Testing Data","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-training-and-testing-data","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-training-and-testing-data","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8c","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: The Training Process","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-the-training-process","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-the-training-process","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8d","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Classification","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-classification","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-classification","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8e","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Building the Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-building-the-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-building-the-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d8f","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Clustering","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-clustering","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-clustering","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d90","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Hidden Markov Models","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-hidden-markov-models","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-hidden-markov-models","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d91","block":"tensorflow","challengeType":11,"title":"Core Learning Algorithms: Using Probabilities to make Predictions","order":0,"superBlock":"machine-learning-with-python","dashedName":"core-learning-algorithms-using-probabilities-to-make-predictions","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-using-probabilities-to-make-predictions","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d92","block":"tensorflow","challengeType":11,"title":"Neural Networks with TensorFlow","order":0,"superBlock":"machine-learning-with-python","dashedName":"neural-networks-with-tensorflow","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/neural-networks-with-tensorflow","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d93","block":"tensorflow","challengeType":11,"title":"Neural Networks: Activation Functions","order":0,"superBlock":"machine-learning-with-python","dashedName":"neural-networks-activation-functions","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/neural-networks-activation-functions","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d94","block":"tensorflow","challengeType":11,"title":"Neural Networks: Optimizers","order":0,"superBlock":"machine-learning-with-python","dashedName":"neural-networks-optimizers","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/neural-networks-optimizers","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d95","block":"tensorflow","challengeType":11,"title":"Neural Networks: Creating a Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"neural-networks-creating-a-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/neural-networks-creating-a-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d96","block":"tensorflow","challengeType":11,"title":"Convolutional Neural Networks","order":0,"superBlock":"machine-learning-with-python","dashedName":"convolutional-neural-networks","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d97","block":"tensorflow","challengeType":11,"title":"Convolutional Neural Networks: The Convolutional Layer","order":0,"superBlock":"machine-learning-with-python","dashedName":"convolutional-neural-networks-the-convolutional-layer","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-the-convolutional-layer","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d98","block":"tensorflow","challengeType":11,"title":"Creating a Convolutional Neural Network","order":0,"superBlock":"machine-learning-with-python","dashedName":"creating-a-convolutional-neural-network","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/creating-a-convolutional-neural-network","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d99","block":"tensorflow","challengeType":11,"title":"Convolutional Neural Networks: Evaluating the Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"convolutional-neural-networks-evaluating-the-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-evaluating-the-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9a","block":"tensorflow","challengeType":11,"title":"Convolutional Neural Networks: Picking a Pretrained Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"convolutional-neural-networks-picking-a-pretrained-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-picking-a-pretrained-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9b","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9c","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Part 2","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-part-2","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-part-2","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9d","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Recurring Neural Networks","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-recurring-neural-networks","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-recurring-neural-networks","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9e","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Sentiment Analysis","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-sentiment-analysis","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-sentiment-analysis","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72d9f","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Making Predictions","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-making-predictions","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-making-predictions","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da0","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Create a Play Generator","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-create-a-play-generator","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-create-a-play-generator","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da1","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Building the Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-building-the-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-building-the-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da2","block":"tensorflow","challengeType":11,"title":"Natural Language Processing With RNNs: Training the Model","order":0,"superBlock":"machine-learning-with-python","dashedName":"natural-language-processing-with-rnns-training-the-model","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-training-the-model","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da3","block":"tensorflow","challengeType":11,"title":"Reinforcement Learning With Q-Learning","order":0,"superBlock":"machine-learning-with-python","dashedName":"reinforcement-learning-with-q-learning","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da4","block":"tensorflow","challengeType":11,"title":"Reinforcement Learning With Q-Learning: Part 2","order":0,"superBlock":"machine-learning-with-python","dashedName":"reinforcement-learning-with-q-learning-part-2","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning-part-2","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da5","block":"tensorflow","challengeType":11,"title":"Reinforcement Learning With Q-Learning: Example","order":0,"superBlock":"machine-learning-with-python","dashedName":"reinforcement-learning-with-q-learning-example","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning-example","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e8f2f13c4cdbe86b5c72da6","block":"tensorflow","challengeType":11,"title":"Conclusion","order":0,"superBlock":"machine-learning-with-python","dashedName":"conclusion","fields":{"slug":"/learn/machine-learning-with-python/tensorflow/conclusion","blockName":"TensorFlow"}}}},{"node":{"challenge":{"id":"5e9a0e9ef99a403d019610ca","block":"how-neural-networks-work","challengeType":11,"title":"How Deep Neural Networks Work","order":1,"superBlock":"machine-learning-with-python","dashedName":"how-deep-neural-networks-work","fields":{"slug":"/learn/machine-learning-with-python/how-neural-networks-work/how-deep-neural-networks-work","blockName":"How Neural Networks Work"}}}},{"node":{"challenge":{"id":"5e9a0e9ef99a403d019610cb","block":"how-neural-networks-work","challengeType":11,"title":"Recurrent Neural Networks RNN and Long Short Term Memory LSTM","order":1,"superBlock":"machine-learning-with-python","dashedName":"recurrent-neural-networks-rnn-and-long-short-term-memory-lstm","fields":{"slug":"/learn/machine-learning-with-python/how-neural-networks-work/recurrent-neural-networks-rnn-and-long-short-term-memory-lstm","blockName":"How Neural Networks Work"}}}},{"node":{"challenge":{"id":"5e9a0e9ef99a403d019610cc","block":"how-neural-networks-work","challengeType":11,"title":"Deep Learning Demystified","order":1,"superBlock":"machine-learning-with-python","dashedName":"deep-learning-demystified","fields":{"slug":"/learn/machine-learning-with-python/how-neural-networks-work/deep-learning-demystified","blockName":"How Neural Networks Work"}}}},{"node":{"challenge":{"id":"5e9a0e9ef99a403d019610cd","block":"how-neural-networks-work","challengeType":11,"title":"How Convolutional Neural Networks work","order":1,"superBlock":"machine-learning-with-python","dashedName":"how-convolutional-neural-networks-work","fields":{"slug":"/learn/machine-learning-with-python/how-neural-networks-work/how-convolutional-neural-networks-work","blockName":"How Neural Networks Work"}}}},{"node":{"challenge":{"id":"5e46f8d6ac417301a38fb92d","block":"machine-learning-with-python-projects","challengeType":10,"title":"Rock Paper Scissors","order":2,"superBlock":"machine-learning-with-python","dashedName":"rock-paper-scissors","fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/rock-paper-scissors","blockName":"Machine Learning with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f8dcac417301a38fb92e","block":"machine-learning-with-python-projects","challengeType":10,"title":"Cat and Dog Image Classifier","order":2,"superBlock":"machine-learning-with-python","dashedName":"cat-and-dog-image-classifier","fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/cat-and-dog-image-classifier","blockName":"Machine Learning with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f8e3ac417301a38fb92f","block":"machine-learning-with-python-projects","challengeType":10,"title":"Book Recommendation Engine using KNN","order":2,"superBlock":"machine-learning-with-python","dashedName":"book-recommendation-engine-using-knn","fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/book-recommendation-engine-using-knn","blockName":"Machine Learning with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f8edac417301a38fb930","block":"machine-learning-with-python-projects","challengeType":10,"title":"Linear Regression Health Costs Calculator","order":2,"superBlock":"machine-learning-with-python","dashedName":"linear-regression-health-costs-calculator","fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/linear-regression-health-costs-calculator","blockName":"Machine Learning with Python Projects"}}}},{"node":{"challenge":{"id":"5e46f8edac417301a38fb931","block":"machine-learning-with-python-projects","challengeType":10,"title":"Neural Network SMS Text Classifier","order":2,"superBlock":"machine-learning-with-python","dashedName":"neural-network-sms-text-classifier","fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/neural-network-sms-text-classifier","blockName":"Machine Learning with Python Projects"}}}}]},"allCertificateNode":{"nodes":[{"challenge":{"certification":"back-end-development-and-apis","tests":[{"id":"bd7158d8c443edefaeb5bdef"},{"id":"bd7158d8c443edefaeb5bdff"},{"id":"bd7158d8c443edefaeb5bd0e"},{"id":"5a8b073d06fa14fcfde687aa"},{"id":"bd7158d8c443edefaeb5bd0f"}]}},{"challenge":{"certification":"data-analysis-with-python","tests":[{"id":"5e46f7e5ac417301a38fb928"},{"id":"5e46f7e5ac417301a38fb929"},{"id":"5e46f7f8ac417301a38fb92a"},{"id":"5e46f802ac417301a38fb92b"},{"id":"5e4f5c4b570f7e3a4949899f"}]}},{"challenge":{"certification":"data-visualization","tests":[{"id":"bd7168d8c242eddfaeb5bd13"},{"id":"bd7178d8c242eddfaeb5bd13"},{"id":"bd7188d8c242eddfaeb5bd13"},{"id":"587d7fa6367417b2b2512bbf"},{"id":"587d7fa6367417b2b2512bc0"}]}},{"challenge":{"certification":"front-end-development-libraries","tests":[{"id":"bd7158d8c442eddfaeb5bd13"},{"id":"bd7157d8c242eddfaeb5bd13"},{"id":"587d7dbc367417b2b2512bae"},{"id":"bd7158d8c442eddfaeb5bd17"},{"id":"bd7158d8c442eddfaeb5bd0f"}]}},{"challenge":{"certification":"information-security","tests":[{"id":"587d824a367417b2b2512c44"},{"id":"587d824a367417b2b2512c45"},{"id":"5e46f979ac417301a38fb932"},{"id":"5e46f983ac417301a38fb933"},{"id":"5e601c775ac9d0ecd8b94aff"}]}},{"challenge":{"certification":"javascript-algorithms-and-data-structures","tests":[{"id":"aaa48de84e1ecc7c742e1124"},{"id":"a7f4d8f2483413a6ce226cac"},{"id":"56533eb9ac21ba0edf2244e2"},{"id":"aff0395860f5d3034dc0bfc9"},{"id":"aa2e6f85cab2ab736c9a9b24"}]}},{"challenge":{"certification":"legacy-back-end","tests":[{"id":"bd7158d8c443edefaeb5bdef"},{"id":"bd7158d8c443edefaeb5bdff"},{"id":"bd7158d8c443edefaeb5bd0e"},{"id":"bd7158d8c443edefaeb5bdee"},{"id":"bd7158d8c443edefaeb5bd0f"},{"id":"bd7158d8c443eddfaeb5bdef"},{"id":"bd7158d8c443eddfaeb5bdff"},{"id":"bd7158d8c443eddfaeb5bd0e"},{"id":"bd7158d8c443eddfaeb5bd0f"},{"id":"bd7158d8c443eddfaeb5bdee"}]}},{"challenge":{"certification":"legacy-data-visualization","tests":[{"id":"bd7157d8c242eddfaeb5bd13"},{"id":"bd7156d8c242eddfaeb5bd13"},{"id":"bd7155d8c242eddfaeb5bd13"},{"id":"bd7154d8c242eddfaeb5bd13"},{"id":"bd7153d8c242eddfaeb5bd13"},{"id":"bd7168d8c242eddfaeb5bd13"},{"id":"bd7178d8c242eddfaeb5bd13"},{"id":"bd7188d8c242eddfaeb5bd13"},{"id":"bd7198d8c242eddfaeb5bd13"},{"id":"bd7108d8c242eddfaeb5bd13"}]}},{"challenge":{"certification":"legacy-front-end","tests":[{"id":"bd7158d8c242eddfaeb5bd13"},{"id":"bd7158d8c442eddfaeb5bd13"},{"id":"bd7158d8c442eddfaeb5bd0f"},{"id":"bd7158d8c442eddfaeb5bd17"},{"id":"bd7158d8c442eddfaeb5bd10"},{"id":"bd7158d8c442eddfaeb5bd1f"},{"id":"bd7158d8c442eddfaeb5bd18"},{"id":"bd7158d8c442eddfaeb5bd19"},{"id":"bd7158d8c442eedfaeb5bd1c"},{"id":"bd7158d8c442eddfaeb5bd1c"}]}},{"challenge":{"certification":"legacy-full-stack","tests":[{"id":"561add10cb82ac38a17513bc"},{"id":"561abd10cb81ac38a17513bc"},{"id":"561acd10cb82ac38a17513bc"},{"id":"5a553ca864b52e1d8bceea14"},{"id":"561add10cb82ac38a17523bc"},{"id":"561add10cb82ac38a17213bc"}]}},{"challenge":{"certification":"legacy-information-security-and-quality-assurance","tests":[{"id":"587d8249367417b2b2512c41"},{"id":"587d8249367417b2b2512c42"},{"id":"587d824a367417b2b2512c43"},{"id":"587d824a367417b2b2512c44"},{"id":"587d824a367417b2b2512c45"}]}},{"challenge":{"certification":"machine-learning-with-python","tests":[{"id":"5e46f8d6ac417301a38fb92d"},{"id":"5e46f8dcac417301a38fb92e"},{"id":"5e46f8e3ac417301a38fb92f"},{"id":"5e46f8edac417301a38fb930"},{"id":"5e46f8edac417301a38fb931"}]}},{"challenge":{"certification":"quality-assurance","tests":[{"id":"587d8249367417b2b2512c41"},{"id":"587d8249367417b2b2512c42"},{"id":"587d824a367417b2b2512c43"},{"id":"5e601bf95ac9d0ecd8b94afd"},{"id":"5e601c0d5ac9d0ecd8b94afe"}]}},{"challenge":{"certification":"relational-database","tests":[{"id":"5f1a4ef5d5d6b5ab580fc6ae"},{"id":"5f9771307d4d22b9d2b75a94"},{"id":"5f87ac112ae598023a42df1a"},{"id":"602d9ff222201c65d2a019f2"},{"id":"602da04c22201c65d2a019f4"}]}},{"challenge":{"certification":"responsive-web-design","tests":[{"id":"bd7158d8c442eddfaeb5bd18"},{"id":"587d78af367417b2b2512b03"},{"id":"587d78af367417b2b2512b04"},{"id":"587d78b0367417b2b2512b05"},{"id":"bd7158d8c242eddfaeb5bd13"}]}},{"challenge":{"certification":"scientific-computing-with-python","tests":[{"id":"5e44412c903586ffb414c94c"},{"id":"5e444136903586ffb414c94d"},{"id":"5e44413e903586ffb414c94e"},{"id":"5e444147903586ffb414c94f"},{"id":"5e44414f903586ffb414c950"}]}}]},"allMarkdownRemark":{"nodes":[{"fields":{"slug":"/learn/back-end-development-and-apis/"},"frontmatter":{"title":"Back End Development and APIs","superBlock":"back-end-development-and-apis"}},{"fields":{"slug":"/learn/coding-interview-prep/"},"frontmatter":{"title":"Coding Interview Prep","superBlock":"coding-interview-prep"}},{"fields":{"slug":"/learn/data-analysis-with-python/"},"frontmatter":{"title":"Data Analysis with Python","superBlock":"data-analysis-with-python"}},{"fields":{"slug":"/learn/data-visualization/"},"frontmatter":{"title":"Data Visualization","superBlock":"data-visualization"}},{"fields":{"slug":"/learn/front-end-development-libraries/"},"frontmatter":{"title":"Front End Development Libraries","superBlock":"front-end-development-libraries"}},{"fields":{"slug":"/learn/information-security/"},"frontmatter":{"title":"Information Security","superBlock":"information-security"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/"},"frontmatter":{"title":"JavaScript Algorithms and Data Structures","superBlock":"javascript-algorithms-and-data-structures"}},{"fields":{"slug":"/learn/machine-learning-with-python/"},"frontmatter":{"title":"Machine Learning with Python","superBlock":"machine-learning-with-python"}},{"fields":{"slug":"/learn/quality-assurance/"},"frontmatter":{"title":"Quality Assurance","superBlock":"quality-assurance"}},{"fields":{"slug":"/learn/relational-database/"},"frontmatter":{"title":"Relational Database","superBlock":"relational-database"}},{"fields":{"slug":"/learn/responsive-web-design/"},"frontmatter":{"title":"Responsive Web Design","superBlock":"responsive-web-design"}},{"fields":{"slug":"/learn/scientific-computing-with-python/"},"frontmatter":{"title":"Scientific Computing with Python","superBlock":"scientific-computing-with-python"}},{"fields":{"slug":"/learn/2022/responsive-web-design/"},"frontmatter":{"title":"Responsive Web Design","superBlock":"2022/responsive-web-design"}},{"fields":{"slug":"/learn/back-end-development-and-apis/back-end-development-and-apis-projects/"},"frontmatter":{"title":"Introduction to the Back End Development and APIs Projects","superBlock":"Back End Development and APIs"}},{"fields":{"slug":"/learn/back-end-development-and-apis/basic-node-and-express/"},"frontmatter":{"title":"Introduction to the Basic Node and Express Challenges","superBlock":"Back End Development and APIs"}},{"fields":{"slug":"/learn/back-end-development-and-apis/managing-packages-with-npm/"},"frontmatter":{"title":"Introduction to the Managing Packages with npm Challenges","superBlock":"Back End Development and APIs"}},{"fields":{"slug":"/learn/back-end-development-and-apis/mongodb-and-mongoose/"},"frontmatter":{"title":"Introduction to the MongoDB and Mongoose Challenges","superBlock":"Back End Development and APIs"}},{"fields":{"slug":"/learn/coding-interview-prep/algorithms/"},"frontmatter":{"title":"Introduction to the Coding Interview Algorithms","superBlock":"Coding Interview Prep"}},{"fields":{"slug":"/learn/coding-interview-prep/data-structures/"},"frontmatter":{"title":"Introduction to the Coding Interview Data Structure Questions","superBlock":"Coding Interview Prep"}},{"fields":{"slug":"/learn/coding-interview-prep/project-euler/"},"frontmatter":{"title":"Introduction to the Project Euler Problems","superBlock":"Coding Interview Prep"}},{"fields":{"slug":"/learn/coding-interview-prep/rosetta-code/"},"frontmatter":{"title":"Introduction to the Rosetta Code Problems","superBlock":"Coding Interview Prep"}},{"fields":{"slug":"/learn/coding-interview-prep/take-home-projects/"},"frontmatter":{"title":"Introduction to the Coding Interview Take Home Projects","superBlock":"Coding Interview Prep"}},{"fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-course/"},"frontmatter":{"title":"Introduction to the Data Analysis with Python Course Lectures","superBlock":"Data Analysis with Python"}},{"fields":{"slug":"/learn/data-analysis-with-python/data-analysis-with-python-projects/"},"frontmatter":{"title":"Introduction to the Data Analysis with Python Projects","superBlock":"Data Analysis with Python"}},{"fields":{"slug":"/learn/data-analysis-with-python/numpy/"},"frontmatter":{"title":"Introduction to the Numpy Lectures","superBlock":"Data Analysis with Python"}},{"fields":{"slug":"/learn/data-visualization/d3-dashboard/"},"frontmatter":{"title":"Introduction to the D3 Dashboard","superBlock":"Data Visualization"}},{"fields":{"slug":"/learn/data-visualization/data-visualization-projects/"},"frontmatter":{"title":"Introduction to the Data Visualization Projects","superBlock":"Data Visualization"}},{"fields":{"slug":"/learn/data-visualization/data-visualization-with-d3/"},"frontmatter":{"title":"Introduction to the Data Visualization with D3 Challenges","superBlock":"Data Visualization"}},{"fields":{"slug":"/learn/data-visualization/json-apis-and-ajax/"},"frontmatter":{"title":"Introduction to the JSON APIs and AJAX Challenges","superBlock":"Data Visualization"}},{"fields":{"slug":"/learn/front-end-development-libraries/bootstrap/"},"frontmatter":{"title":"Introduction to the Bootstrap Challenges","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/front-end-development-libraries/front-end-development-libraries-projects/"},"frontmatter":{"title":"Introduction to the Front End Development Libraries Projects","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/front-end-development-libraries/jquery/"},"frontmatter":{"title":"Introduction to jQuery","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/front-end-development-libraries/react/"},"frontmatter":{"title":"Introduction to the React Challenges","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/front-end-development-libraries/react-and-redux/"},"frontmatter":{"title":"Introduction to the React and Redux Challenges","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/front-end-development-libraries/redux/"},"frontmatter":{"title":"Introduction to the Redux Challenges","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/front-end-development-libraries/sass/"},"frontmatter":{"title":"Introduction to the Sass Challenges","superBlock":"Front End Development Libraries"}},{"fields":{"slug":"/learn/information-security/information-security-projects/"},"frontmatter":{"title":"Introduction to the Information Security Projects","superBlock":"Information Security"}},{"fields":{"slug":"/learn/information-security/information-security-with-helmetjs/"},"frontmatter":{"title":"Introduction to Information Security with HelmetJS Challenges","superBlock":"Information Security"}},{"fields":{"slug":"/learn/information-security/python-for-penetration-testing/"},"frontmatter":{"title":"Introduction to the Python for Penetration Testing Lectures","superBlock":"Information Security"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/"},"frontmatter":{"title":"Introduction to Basic Algorithm Scripting","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/"},"frontmatter":{"title":"Introduction to the Basic Data Structure Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/"},"frontmatter":{"title":"Introduction to JavaScript","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript-rpg-game/"},"frontmatter":{"title":"Introduction to the Basic JavaScript RPG Game","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/"},"frontmatter":{"title":"Introduction to the Debugging Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/"},"frontmatter":{"title":"Introduction to the ES6 Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/"},"frontmatter":{"title":"Introduction to the Functional Programming Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming-spreadsheet/"},"frontmatter":{"title":"Introduction to the Functional Programming Spreadsheet","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/"},"frontmatter":{"title":"Introduction to the Intermediate Algorithm Scripting Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-javascript-calorie-counter/"},"frontmatter":{"title":"Introduction to the Intermediate JavaScript Calorie Counter","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/"},"frontmatter":{"title":"Introduction to the JavaScript Algorithms and Data Structures Projects","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/"},"frontmatter":{"title":"Introduction to the Object Oriented Programming Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/"},"frontmatter":{"title":"Introduction to the Regular Expression Challenges","superBlock":"JavaScript Algorithms and Data Structures"}},{"fields":{"slug":"/learn/machine-learning-with-python/how-neural-networks-work/"},"frontmatter":{"title":"Introduction to the How Neural Networks Work Lectures","superBlock":"Machine Learning with Python"}},{"fields":{"slug":"/learn/machine-learning-with-python/machine-learning-with-python-projects/"},"frontmatter":{"title":"Introduction to the Machine Learning Projects","superBlock":"Machine Learning with Python"}},{"fields":{"slug":"/learn/machine-learning-with-python/tensorflow/"},"frontmatter":{"title":"Introduction to the TensorFlow Lectures","superBlock":"Machine Learning with Python"}},{"fields":{"slug":"/learn/quality-assurance/advanced-node-and-express/"},"frontmatter":{"title":"Introduction to the Advanced Node and Express Challenges","superBlock":"Quality Assurance"}},{"fields":{"slug":"/learn/quality-assurance/quality-assurance-and-testing-with-chai/"},"frontmatter":{"title":"Introduction to the Quality Assurance with Chai Challenges","superBlock":"Quality Assurance"}},{"fields":{"slug":"/learn/quality-assurance/quality-assurance-projects/"},"frontmatter":{"title":"Introduction to the Quality Assurance Projects","superBlock":"Quality Assurance"}},{"fields":{"slug":"/learn/relational-database/learn-relational-databases/"},"frontmatter":{"title":"Introduction to Relational Databases","superBlock":"Relational Database"}},{"fields":{"slug":"/learn/responsive-web-design/applied-accessibility/"},"frontmatter":{"title":"Introduction to the Applied Accessibility Challenges","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/applied-visual-design/"},"frontmatter":{"title":"Introduction to the Applied Visual Design Challenges","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/basic-css/"},"frontmatter":{"title":"Introduction to Basic CSS","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/basic-html-and-html5/"},"frontmatter":{"title":"Introduction to Basic HTML and HTML5","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/css-flexbox/"},"frontmatter":{"title":"Introduction to the CSS Flexbox Challenges","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/css-grid/"},"frontmatter":{"title":"Introduction to the CSS Grid Challenges","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/responsive-web-design-principles/"},"frontmatter":{"title":"Introduction to the Responsive Web Design Challenges","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/responsive-web-design/responsive-web-design-projects/"},"frontmatter":{"title":"Introduction to the Responsive Web Design Projects","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/scientific-computing-with-python/python-for-everybody/"},"frontmatter":{"title":"Introduction to Python for Everybody","superBlock":"Scientific Computing with Python"}},{"fields":{"slug":"/learn/scientific-computing-with-python/scientific-computing-with-python-projects/"},"frontmatter":{"title":"Introduction to the Scientific Computing with Python Projects","superBlock":"Scientific Computing with Python"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/"},"frontmatter":{"title":"Introduction to the Learn Accessibility by Building a Quiz Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/"},"frontmatter":{"title":"Introduction to the Learn Basic CSS by Building a Cafe Menu Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/"},"frontmatter":{"title":"Introduction to the Learn CSS Animation by Building a Ferris Wheel Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/"},"frontmatter":{"title":"Introduction to the Learn CSS Colors by Building a Set of Colored Markers Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/"},"frontmatter":{"title":"Introduction to the Learn CSS Flexbox by Building a Photo Gallery Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/"},"frontmatter":{"title":"Introduction to the Learn CSS Grid by Building a Magazine Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/"},"frontmatter":{"title":"Introduction to the Learn CSS Variables by Building a City Skyline Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/"},"frontmatter":{"title":"Introduction to the Learn CSS Transforms by Building a Penguin","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/"},"frontmatter":{"title":"Introduction to the Learn HTML by Building a Cat Photo App Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/"},"frontmatter":{"title":"Introduction to the Learn HTML Forms by Building a Registration Form Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/"},"frontmatter":{"title":"Introduction to the Learn Intermediate CSS by Building a Picasso Painting Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/"},"frontmatter":{"title":"Introduction to the Learn More About CSS Pseudo Selectors By Building A Balance Sheet","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/"},"frontmatter":{"title":"Introduction to the Learn Responsive Web Design by Building a Piano Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/"},"frontmatter":{"title":"Introduction to the Learn the CSS Box Model by Building a Rothko Painting Project","superBlock":"Responsive Web Design"}},{"fields":{"slug":"/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/"},"frontmatter":{"title":"Introduction to the Learn Typography by Building a Nutrition Label Project","superBlock":"Responsive Web Design"}}]}}}