{
    "componentChunkName": "component---src-templates-introduction-super-block-intro-tsx",
    "path": "/learn/javascript-algorithms-and-data-structures/",
    "result": {"data":{"markdownRemark":{"frontmatter":{"certification":"javascript-algorithms-and-data-structures","superBlock":"javascript-algorithms-and-data-structures","title":"JavaScript Algorithms and Data Structures"}},"allChallengeNode":{"edges":[{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comment-your-javascript-code","blockName":"Basic JavaScript"},"id":"bd7123c9c441eddfaeb4bdef","block":"basic-javascript","challengeType":1,"title":"Comment Your JavaScript Code","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comment-your-javascript-code"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables","blockName":"Basic JavaScript"},"id":"bd7123c9c443eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Declare JavaScript Variables","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"declare-javascript-variables"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244a8","block":"basic-javascript","challengeType":1,"title":"Storing Values with the Assignment Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"storing-values-with-the-assignment-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/assigning-the-value-of-one-variable-to-another","blockName":"Basic JavaScript"},"id":"5ee127a03c3b35dd45426493","block":"basic-javascript","challengeType":1,"title":"Assigning the Value of One Variable to Another","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"assigning-the-value-of-one-variable-to-another"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/initializing-variables-with-the-assignment-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244a9","block":"basic-javascript","challengeType":1,"title":"Initializing Variables with the Assignment Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"initializing-variables-with-the-assignment-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables","blockName":"Basic JavaScript"},"id":"bd7123c9c444eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Declare String Variables","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"declare-string-variables"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244aa","block":"basic-javascript","challengeType":1,"title":"Understanding Uninitialized Variables","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-uninitialized-variables"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-case-sensitivity-in-variables","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244ab","block":"basic-javascript","challengeType":1,"title":"Understanding Case Sensitivity in Variables","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-case-sensitivity-in-variables"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/explore-differences-between-the-var-and-let-keywords","blockName":"Basic JavaScript"},"id":"587d7b87367417b2b2512b3f","block":"basic-javascript","challengeType":1,"title":"Explore Differences Between the var and let Keywords","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"explore-differences-between-the-var-and-let-keywords"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword","blockName":"Basic JavaScript"},"id":"587d7b87367417b2b2512b41","block":"basic-javascript","challengeType":1,"title":"Declare a Read-Only Variable with the const Keyword","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"declare-a-read-only-variable-with-the-const-keyword"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/add-two-numbers-with-javascript","blockName":"Basic JavaScript"},"id":"cf1111c1c11feddfaeb3bdef","block":"basic-javascript","challengeType":1,"title":"Add Two Numbers with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-two-numbers-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript","blockName":"Basic JavaScript"},"id":"cf1111c1c11feddfaeb4bdef","block":"basic-javascript","challengeType":1,"title":"Subtract One Number from Another with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"subtract-one-number-from-another-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-numbers-with-javascript","blockName":"Basic JavaScript"},"id":"cf1231c1c11feddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Multiply Two Numbers with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"multiply-two-numbers-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/divide-one-number-by-another-with-javascript","blockName":"Basic JavaScript"},"id":"cf1111c1c11feddfaeb6bdef","block":"basic-javascript","challengeType":1,"title":"Divide One Number by Another with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"divide-one-number-by-another-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/increment-a-number-with-javascript","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244ac","block":"basic-javascript","challengeType":1,"title":"Increment a Number with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"increment-a-number-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/decrement-a-number-with-javascript","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244ad","block":"basic-javascript","challengeType":1,"title":"Decrement a Number with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"decrement-a-number-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/create-decimal-numbers-with-javascript","blockName":"Basic JavaScript"},"id":"cf1391c1c11feddfaeb4bdef","block":"basic-javascript","challengeType":1,"title":"Create Decimal Numbers with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-decimal-numbers-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-decimals-with-javascript","blockName":"Basic JavaScript"},"id":"bd7993c9c69feddfaeb7bdef","block":"basic-javascript","challengeType":1,"title":"Multiply Two Decimals with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"multiply-two-decimals-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript","blockName":"Basic JavaScript"},"id":"bd7993c9ca9feddfaeb7bdef","block":"basic-javascript","challengeType":1,"title":"Divide One Decimal by Another with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"divide-one-decimal-by-another-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244ae","block":"basic-javascript","challengeType":1,"title":"Finding a Remainder in JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"finding-a-remainder-in-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-addition","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244af","block":"basic-javascript","challengeType":1,"title":"Compound Assignment With Augmented Addition","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-addition"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-subtraction","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244b0","block":"basic-javascript","challengeType":1,"title":"Compound Assignment With Augmented Subtraction","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-subtraction"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-multiplication","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244b1","block":"basic-javascript","challengeType":1,"title":"Compound Assignment With Augmented Multiplication","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-multiplication"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-division","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244b2","block":"basic-javascript","challengeType":1,"title":"Compound Assignment With Augmented Division","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compound-assignment-with-augmented-division"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244b5","block":"basic-javascript","challengeType":1,"title":"Escaping Literal Quotes in Strings","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"escaping-literal-quotes-in-strings"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244b4","block":"basic-javascript","challengeType":1,"title":"Quoting Strings with Single Quotes","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"quoting-strings-with-single-quotes"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244b6","block":"basic-javascript","challengeType":1,"title":"Escape Sequences in Strings","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"escape-sequences-in-strings"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-plus-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244b7","block":"basic-javascript","challengeType":1,"title":"Concatenating Strings with Plus Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"concatenating-strings-with-plus-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-the-plus-equals-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244b8","block":"basic-javascript","challengeType":1,"title":"Concatenating Strings with the Plus Equals Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"concatenating-strings-with-the-plus-equals-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/constructing-strings-with-variables","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244b9","block":"basic-javascript","challengeType":1,"title":"Constructing Strings with Variables","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"constructing-strings-with-variables"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/appending-variables-to-strings","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244ed","block":"basic-javascript","challengeType":1,"title":"Appending Variables to Strings","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"appending-variables-to-strings"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string","blockName":"Basic JavaScript"},"id":"bd7123c9c448eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Find the Length of a String","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-the-length-of-a-string"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-first-character-in-a-string","blockName":"Basic JavaScript"},"id":"bd7123c9c549eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Use Bracket Notation to Find the First Character in a String","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-first-character-in-a-string"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understand-string-immutability","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244ba","block":"basic-javascript","challengeType":1,"title":"Understand String Immutability","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-string-immutability"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-character-in-a-string","blockName":"Basic JavaScript"},"id":"bd7123c9c450eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Use Bracket Notation to Find the Nth Character in a String","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-nth-character-in-a-string"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-last-character-in-a-string","blockName":"Basic JavaScript"},"id":"bd7123c9c451eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Use Bracket Notation to Find the Last Character in a String","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-last-character-in-a-string"}}},{"node":{"challenge":{"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"},"id":"bd7123c9c452eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Use Bracket Notation to Find the Nth-to-Last Character in a String","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-bracket-notation-to-find-the-nth-to-last-character-in-a-string"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/word-blanks","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244bb","block":"basic-javascript","challengeType":1,"title":"Word Blanks","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"word-blanks"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/store-multiple-values-in-one-variable-using-javascript-arrays","blockName":"Basic JavaScript"},"id":"bd7993c9c69feddfaeb8bdef","block":"basic-javascript","challengeType":1,"title":"Store Multiple Values in one Variable using JavaScript Arrays","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"store-multiple-values-in-one-variable-using-javascript-arrays"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array","blockName":"Basic JavaScript"},"id":"cf1111c1c11feddfaeb7bdef","block":"basic-javascript","challengeType":1,"title":"Nest one Array within Another Array","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"nest-one-array-within-another-array"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes","blockName":"Basic JavaScript"},"id":"56bbb991ad1ed5201cd392ca","block":"basic-javascript","challengeType":1,"title":"Access Array Data with Indexes","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-array-data-with-indexes"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/modify-array-data-with-indexes","blockName":"Basic JavaScript"},"id":"cf1111c1c11feddfaeb8bdef","block":"basic-javascript","challengeType":1,"title":"Modify Array Data With Indexes","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"modify-array-data-with-indexes"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/access-multi-dimensional-arrays-with-indexes","blockName":"Basic JavaScript"},"id":"56592a60ddddeae28f7aa8e1","block":"basic-javascript","challengeType":1,"title":"Access Multi-Dimensional Arrays With Indexes","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-multi-dimensional-arrays-with-indexes"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-push","blockName":"Basic JavaScript"},"id":"56bbb991ad1ed5201cd392cb","block":"basic-javascript","challengeType":1,"title":"Manipulate Arrays With push()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-push"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-pop","blockName":"Basic JavaScript"},"id":"56bbb991ad1ed5201cd392cc","block":"basic-javascript","challengeType":1,"title":"Manipulate Arrays With pop()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-pop"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-shift","blockName":"Basic JavaScript"},"id":"56bbb991ad1ed5201cd392cd","block":"basic-javascript","challengeType":1,"title":"Manipulate Arrays With shift()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-shift"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-unshift","blockName":"Basic JavaScript"},"id":"56bbb991ad1ed5201cd392ce","block":"basic-javascript","challengeType":1,"title":"Manipulate Arrays With unshift()","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulate-arrays-with-unshift"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/shopping-list","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244bc","block":"basic-javascript","challengeType":1,"title":"Shopping List","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"shopping-list"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions","blockName":"Basic JavaScript"},"id":"56bbb991ad1ed5201cd392cf","block":"basic-javascript","challengeType":1,"title":"Write Reusable JavaScript with Functions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-reusable-javascript-with-functions"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/passing-values-to-functions-with-arguments","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244bd","block":"basic-javascript","challengeType":1,"title":"Passing Values to Functions with Arguments","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"passing-values-to-functions-with-arguments"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/return-a-value-from-a-function-with-return","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244c2","block":"basic-javascript","challengeType":1,"title":"Return a Value from a Function with Return","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-a-value-from-a-function-with-return"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244be","block":"basic-javascript","challengeType":1,"title":"Global Scope and Functions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"global-scope-and-functions"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244bf","block":"basic-javascript","challengeType":1,"title":"Local Scope and Functions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"local-scope-and-functions"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/global-vs--local-scope-in-functions","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244c0","block":"basic-javascript","challengeType":1,"title":"Global vs. Local Scope in Functions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"global-vs--local-scope-in-functions"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function","blockName":"Basic JavaScript"},"id":"598e8944f009e646fc236146","block":"basic-javascript","challengeType":1,"title":"Understanding Undefined Value returned from a Function","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-undefined-value-returned-from-a-function"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/assignment-with-a-returned-value","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244c3","block":"basic-javascript","challengeType":1,"title":"Assignment with a Returned Value","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"assignment-with-a-returned-value"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/stand-in-line","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244c6","block":"basic-javascript","challengeType":1,"title":"Stand in Line","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"stand-in-line"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values","blockName":"Basic JavaScript"},"id":"bd7123c9c441eddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Understanding Boolean Values","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-boolean-values"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-conditional-logic-with-if-statements","blockName":"Basic JavaScript"},"id":"cf1111c1c12feddfaeb3bdef","block":"basic-javascript","challengeType":1,"title":"Use Conditional Logic with If Statements","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-conditional-logic-with-if-statements"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-equality-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244d0","block":"basic-javascript","challengeType":1,"title":"Comparison with the Equality Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-equality-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-equality-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244d1","block":"basic-javascript","challengeType":1,"title":"Comparison with the Strict Equality Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-strict-equality-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/practice-comparing-different-values","blockName":"Basic JavaScript"},"id":"599a789b454f2bbd91a3ff4d","block":"basic-javascript","challengeType":1,"title":"Practice comparing different values","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"practice-comparing-different-values"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244d2","block":"basic-javascript","challengeType":1,"title":"Comparison with the Inequality Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-inequality-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-inequality-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244d3","block":"basic-javascript","challengeType":1,"title":"Comparison with the Strict Inequality Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-strict-inequality-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244d4","block":"basic-javascript","challengeType":1,"title":"Comparison with the Greater Than Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-greater-than-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-or-equal-to-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244d5","block":"basic-javascript","challengeType":1,"title":"Comparison with the Greater Than Or Equal To Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-greater-than-or-equal-to-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244d6","block":"basic-javascript","challengeType":1,"title":"Comparison with the Less Than Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-less-than-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-or-equal-to-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244d7","block":"basic-javascript","challengeType":1,"title":"Comparison with the Less Than Or Equal To Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparison-with-the-less-than-or-equal-to-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-and-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244d8","block":"basic-javascript","challengeType":1,"title":"Comparisons with the Logical And Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparisons-with-the-logical-and-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244d9","block":"basic-javascript","challengeType":1,"title":"Comparisons with the Logical Or Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"comparisons-with-the-logical-or-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/introducing-else-statements","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244da","block":"basic-javascript","challengeType":1,"title":"Introducing Else Statements","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"introducing-else-statements"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/introducing-else-if-statements","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244db","block":"basic-javascript","challengeType":1,"title":"Introducing Else If Statements","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"introducing-else-if-statements"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements","blockName":"Basic JavaScript"},"id":"5690307fddb111c6084545d7","block":"basic-javascript","challengeType":1,"title":"Logical Order in If Else Statements","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"logical-order-in-if-else-statements"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/chaining-if-else-statements","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244dc","block":"basic-javascript","challengeType":1,"title":"Chaining If Else Statements","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"chaining-if-else-statements"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/golf-code","blockName":"Basic JavaScript"},"id":"5664820f61c48e80c9fa476c","block":"basic-javascript","challengeType":1,"title":"Golf Code","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"golf-code"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/selecting-from-many-options-with-switch-statements","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244dd","block":"basic-javascript","challengeType":1,"title":"Selecting from Many Options with Switch Statements","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"selecting-from-many-options-with-switch-statements"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/adding-a-default-option-in-switch-statements","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244de","block":"basic-javascript","challengeType":1,"title":"Adding a Default Option in Switch Statements","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"adding-a-default-option-in-switch-statements"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/multiple-identical-options-in-switch-statements","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244df","block":"basic-javascript","challengeType":1,"title":"Multiple Identical Options in Switch Statements","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"multiple-identical-options-in-switch-statements"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/replacing-if-else-chains-with-switch","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244e0","block":"basic-javascript","challengeType":1,"title":"Replacing If Else Chains with Switch","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"replacing-if-else-chains-with-switch"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions","blockName":"Basic JavaScript"},"id":"5679ceb97cbaa8c51670a16b","block":"basic-javascript","challengeType":1,"title":"Returning Boolean Values from Functions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"returning-boolean-values-from-functions"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244c4","block":"basic-javascript","challengeType":1,"title":"Return Early Pattern for Functions","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-early-pattern-for-functions"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/counting-cards","blockName":"Basic JavaScript"},"id":"565bbe00e9cc8ac0725390f4","block":"basic-javascript","challengeType":1,"title":"Counting Cards","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"counting-cards"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects","blockName":"Basic JavaScript"},"id":"56bbb991ad1ed5201cd392d0","block":"basic-javascript","challengeType":1,"title":"Build JavaScript Objects","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"build-javascript-objects"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-dot-notation","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244c7","block":"basic-javascript","challengeType":1,"title":"Accessing Object Properties with Dot Notation","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-object-properties-with-dot-notation"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-bracket-notation","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244c8","block":"basic-javascript","challengeType":1,"title":"Accessing Object Properties with Bracket Notation","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-object-properties-with-bracket-notation"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-variables","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244c9","block":"basic-javascript","challengeType":1,"title":"Accessing Object Properties with Variables","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-object-properties-with-variables"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/updating-object-properties","blockName":"Basic JavaScript"},"id":"56bbb991ad1ed5201cd392d1","block":"basic-javascript","challengeType":1,"title":"Updating Object Properties","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"updating-object-properties"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/add-new-properties-to-a-javascript-object","blockName":"Basic JavaScript"},"id":"56bbb991ad1ed5201cd392d2","block":"basic-javascript","challengeType":1,"title":"Add New Properties to a JavaScript Object","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-new-properties-to-a-javascript-object"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/delete-properties-from-a-javascript-object","blockName":"Basic JavaScript"},"id":"56bbb991ad1ed5201cd392d3","block":"basic-javascript","challengeType":1,"title":"Delete Properties from a JavaScript Object","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"delete-properties-from-a-javascript-object"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244ca","block":"basic-javascript","challengeType":1,"title":"Using Objects for Lookups","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"using-objects-for-lookups"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/testing-objects-for-properties","blockName":"Basic JavaScript"},"id":"567af2437cbaa8c51670a16c","block":"basic-javascript","challengeType":1,"title":"Testing Objects for Properties","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"testing-objects-for-properties"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulating-complex-objects","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244cb","block":"basic-javascript","challengeType":1,"title":"Manipulating Complex Objects","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"manipulating-complex-objects"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-objects","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244cc","block":"basic-javascript","challengeType":1,"title":"Accessing Nested Objects","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-nested-objects"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-arrays","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244cd","block":"basic-javascript","challengeType":1,"title":"Accessing Nested Arrays","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"accessing-nested-arrays"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/record-collection","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244cf","block":"basic-javascript","challengeType":1,"title":"Record Collection","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"record-collection"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-while-loops","blockName":"Basic JavaScript"},"id":"cf1111c1c11feddfaeb1bdef","block":"basic-javascript","challengeType":1,"title":"Iterate with JavaScript While Loops","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-with-javascript-while-loops"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-for-loops","blockName":"Basic JavaScript"},"id":"cf1111c1c11feddfaeb5bdef","block":"basic-javascript","challengeType":1,"title":"Iterate with JavaScript For Loops","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-with-javascript-for-loops"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-odd-numbers-with-a-for-loop","blockName":"Basic JavaScript"},"id":"56104e9e514f539506016a5c","block":"basic-javascript","challengeType":1,"title":"Iterate Odd Numbers With a For Loop","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-odd-numbers-with-a-for-loop"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/count-backwards-with-a-for-loop","blockName":"Basic JavaScript"},"id":"56105e7b514f539506016a5e","block":"basic-javascript","challengeType":1,"title":"Count Backwards With a For Loop","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"count-backwards-with-a-for-loop"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop","blockName":"Basic JavaScript"},"id":"5675e877dbd60be8ad28edc6","block":"basic-javascript","challengeType":1,"title":"Iterate Through an Array with a For Loop","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-through-an-array-with-a-for-loop"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops","blockName":"Basic JavaScript"},"id":"56533eb9ac21ba0edf2244e1","block":"basic-javascript","challengeType":1,"title":"Nesting For Loops","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"nesting-for-loops"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do---while-loops","blockName":"Basic JavaScript"},"id":"5a2efd662fb457916e1fe604","block":"basic-javascript","challengeType":1,"title":"Iterate with JavaScript Do...While Loops","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-with-javascript-do---while-loops"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion","blockName":"Basic JavaScript"},"id":"5cfa3679138e7d9595b9d9d4","block":"basic-javascript","challengeType":1,"title":"Replace Loops using Recursion","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"replace-loops-using-recursion"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/profile-lookup","blockName":"Basic JavaScript"},"id":"5688e62ea601b2482ff8422b","block":"basic-javascript","challengeType":1,"title":"Profile Lookup","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"profile-lookup"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-fractions-with-javascript","blockName":"Basic JavaScript"},"id":"cf1111c1c11feddfaeb9bdef","block":"basic-javascript","challengeType":1,"title":"Generate Random Fractions with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-random-fractions-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript","blockName":"Basic JavaScript"},"id":"cf1111c1c12feddfaeb1bdef","block":"basic-javascript","challengeType":1,"title":"Generate Random Whole Numbers with JavaScript","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-random-whole-numbers-with-javascript"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-within-a-range","blockName":"Basic JavaScript"},"id":"cf1111c1c12feddfaeb2bdef","block":"basic-javascript","challengeType":1,"title":"Generate Random Whole Numbers within a Range","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-random-whole-numbers-within-a-range"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function","blockName":"Basic JavaScript"},"id":"587d7b7e367417b2b2512b23","block":"basic-javascript","challengeType":1,"title":"Use the parseInt Function","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-parseint-function"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function-with-a-radix","blockName":"Basic JavaScript"},"id":"587d7b7e367417b2b2512b22","block":"basic-javascript","challengeType":1,"title":"Use the parseInt Function with a Radix","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-parseint-function-with-a-radix"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-conditional-ternary-operator","blockName":"Basic JavaScript"},"id":"587d7b7e367417b2b2512b24","block":"basic-javascript","challengeType":1,"title":"Use the Conditional (Ternary) Operator","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-conditional-ternary-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators","blockName":"Basic JavaScript"},"id":"587d7b7e367417b2b2512b21","block":"basic-javascript","challengeType":1,"title":"Use Multiple Conditional (Ternary) Operators","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-multiple-conditional-ternary-operators"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown","blockName":"Basic JavaScript"},"id":"5cd9a70215d3c4e65518328f","block":"basic-javascript","challengeType":1,"title":"Use Recursion to Create a Countdown","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-recursion-to-create-a-countdown"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers","blockName":"Basic JavaScript"},"id":"5cc0bd7a49b71cb96132e54c","block":"basic-javascript","challengeType":1,"title":"Use Recursion to Create a Range of Numbers","order":0,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-recursion-to-create-a-range-of-numbers"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords","blockName":"ES6"},"id":"587d7b87367417b2b2512b40","block":"es6","challengeType":1,"title":"Compare Scopes of the var and let Keywords","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"compare-scopes-of-the-var-and-let-keywords"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const","blockName":"ES6"},"id":"587d7b87367417b2b2512b42","block":"es6","challengeType":1,"title":"Mutate an Array Declared with const","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"mutate-an-array-declared-with-const"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/prevent-object-mutation","blockName":"ES6"},"id":"598f48a36c8c40764b4e52b3","block":"es6","challengeType":1,"title":"Prevent Object Mutation","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"prevent-object-mutation"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-arrow-functions-to-write-concise-anonymous-functions","blockName":"ES6"},"id":"587d7b87367417b2b2512b43","block":"es6","challengeType":1,"title":"Use Arrow Functions to Write Concise Anonymous Functions","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-arrow-functions-to-write-concise-anonymous-functions"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/write-arrow-functions-with-parameters","blockName":"ES6"},"id":"587d7b88367417b2b2512b44","block":"es6","challengeType":1,"title":"Write Arrow Functions with Parameters","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-arrow-functions-with-parameters"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/set-default-parameters-for-your-functions","blockName":"ES6"},"id":"587d7b88367417b2b2512b46","block":"es6","challengeType":1,"title":"Set Default Parameters for Your Functions","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"set-default-parameters-for-your-functions"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-the-rest-parameter-with-function-parameters","blockName":"ES6"},"id":"587d7b88367417b2b2512b47","block":"es6","challengeType":1,"title":"Use the Rest Parameter with Function Parameters","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-rest-parameter-with-function-parameters"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-the-spread-operator-to-evaluate-arrays-in-place","blockName":"ES6"},"id":"587d7b89367417b2b2512b48","block":"es6","challengeType":1,"title":"Use the Spread Operator to Evaluate Arrays In-Place","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-spread-operator-to-evaluate-arrays-in-place"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-extract-values-from-objects","blockName":"ES6"},"id":"5cfa550e84205a357704ccb6","block":"es6","challengeType":1,"title":"Use Destructuring Assignment to Extract Values from Objects","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-extract-values-from-objects"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects","blockName":"ES6"},"id":"587d7b89367417b2b2512b49","block":"es6","challengeType":1,"title":"Use Destructuring Assignment to Assign Variables from Objects","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-assign-variables-from-objects"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-nested-objects","blockName":"ES6"},"id":"587d7b89367417b2b2512b4a","block":"es6","challengeType":1,"title":"Use Destructuring Assignment to Assign Variables from Nested Objects","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-assign-variables-from-nested-objects"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-arrays","blockName":"ES6"},"id":"587d7b89367417b2b2512b4b","block":"es6","challengeType":1,"title":"Use Destructuring Assignment to Assign Variables from Arrays","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-assign-variables-from-arrays"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements","blockName":"ES6"},"id":"587d7b8a367417b2b2512b4c","block":"es6","challengeType":1,"title":"Use Destructuring Assignment with the Rest Parameter to Reassign Array Elements","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-pass-an-object-as-a-functions-parameters","blockName":"ES6"},"id":"587d7b8a367417b2b2512b4d","block":"es6","challengeType":1,"title":"Use Destructuring Assignment to Pass an Object as a Function's Parameters","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-destructuring-assignment-to-pass-an-object-as-a-functions-parameters"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals","blockName":"ES6"},"id":"587d7b8a367417b2b2512b4e","block":"es6","challengeType":1,"title":"Create Strings using Template Literals","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-strings-using-template-literals"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-object-property-shorthand","blockName":"ES6"},"id":"587d7b8a367417b2b2512b4f","block":"es6","challengeType":1,"title":"Write Concise Object Literal Declarations Using Object Property Shorthand","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-concise-object-literal-declarations-using-object-property-shorthand"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/write-concise-declarative-functions-with-es6","blockName":"ES6"},"id":"587d7b8b367417b2b2512b50","block":"es6","challengeType":1,"title":"Write Concise Declarative Functions with ES6","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"write-concise-declarative-functions-with-es6"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-class-syntax-to-define-a-constructor-function","blockName":"ES6"},"id":"587d7b8b367417b2b2512b53","block":"es6","challengeType":1,"title":"Use class Syntax to Define a Constructor Function","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-class-syntax-to-define-a-constructor-function"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-getters-and-setters-to-control-access-to-an-object","blockName":"ES6"},"id":"587d7b8c367417b2b2512b54","block":"es6","challengeType":1,"title":"Use getters and setters to Control Access to an Object","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-getters-and-setters-to-control-access-to-an-object"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-a-module-script","blockName":"ES6"},"id":"5cddbfd622f1a59093ec611d","block":"es6","challengeType":6,"title":"Create a Module Script","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-module-script"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use-export-to-share-a-code-block","blockName":"ES6"},"id":"587d7b8c367417b2b2512b56","block":"es6","challengeType":1,"title":"Use export to Share a Code Block","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-export-to-share-a-code-block"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/reuse-javascript-code-using-import","blockName":"ES6"},"id":"587d7b8c367417b2b2512b55","block":"es6","challengeType":1,"title":"Reuse JavaScript Code Using import","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reuse-javascript-code-using-import"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/use--to-import-everything-from-a-file","blockName":"ES6"},"id":"587d7b8c367417b2b2512b57","block":"es6","challengeType":1,"title":"Use * to Import Everything from a File","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use--to-import-everything-from-a-file"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-an-export-fallback-with-export-default","blockName":"ES6"},"id":"587d7b8c367417b2b2512b58","block":"es6","challengeType":1,"title":"Create an Export Fallback with export default","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-an-export-fallback-with-export-default"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/import-a-default-export","blockName":"ES6"},"id":"587d7b8d367417b2b2512b59","block":"es6","challengeType":1,"title":"Import a Default Export","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"import-a-default-export"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/create-a-javascript-promise","blockName":"ES6"},"id":"5cdafbb0291309899753167f","block":"es6","challengeType":1,"title":"Create a JavaScript Promise","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-javascript-promise"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/complete-a-promise-with-resolve-and-reject","blockName":"ES6"},"id":"5cdafbc32913098997531680","block":"es6","challengeType":1,"title":"Complete a Promise with resolve and reject","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"complete-a-promise-with-resolve-and-reject"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/handle-a-fulfilled-promise-with-then","blockName":"ES6"},"id":"5cdafbd72913098997531681","block":"es6","challengeType":1,"title":"Handle a Fulfilled Promise with then","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"handle-a-fulfilled-promise-with-then"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/es6/handle-a-rejected-promise-with-catch","blockName":"ES6"},"id":"5cdafbe72913098997531682","block":"es6","challengeType":1,"title":"Handle a Rejected Promise with catch","order":1,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"handle-a-rejected-promise-with-catch"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/using-the-test-method","blockName":"Regular Expressions"},"id":"587d7db3367417b2b2512b8e","block":"regular-expressions","challengeType":1,"title":"Using the Test Method","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"using-the-test-method"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-literal-strings","blockName":"Regular Expressions"},"id":"587d7db3367417b2b2512b8f","block":"regular-expressions","challengeType":1,"title":"Match Literal Strings","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-literal-strings"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-a-literal-string-with-different-possibilities","blockName":"Regular Expressions"},"id":"587d7db4367417b2b2512b90","block":"regular-expressions","challengeType":1,"title":"Match a Literal String with Different Possibilities","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-a-literal-string-with-different-possibilities"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/ignore-case-while-matching","blockName":"Regular Expressions"},"id":"587d7db4367417b2b2512b91","block":"regular-expressions","challengeType":1,"title":"Ignore Case While Matching","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"ignore-case-while-matching"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/extract-matches","blockName":"Regular Expressions"},"id":"587d7db4367417b2b2512b92","block":"regular-expressions","challengeType":1,"title":"Extract Matches","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"extract-matches"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/find-more-than-the-first-match","blockName":"Regular Expressions"},"id":"587d7db4367417b2b2512b93","block":"regular-expressions","challengeType":1,"title":"Find More Than the First Match","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-more-than-the-first-match"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-anything-with-wildcard-period","blockName":"Regular Expressions"},"id":"587d7db5367417b2b2512b94","block":"regular-expressions","challengeType":1,"title":"Match Anything with Wildcard Period","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-anything-with-wildcard-period"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities","blockName":"Regular Expressions"},"id":"587d7db5367417b2b2512b95","block":"regular-expressions","challengeType":1,"title":"Match Single Character with Multiple Possibilities","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-single-character-with-multiple-possibilities"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-letters-of-the-alphabet","blockName":"Regular Expressions"},"id":"587d7db5367417b2b2512b96","block":"regular-expressions","challengeType":1,"title":"Match Letters of the Alphabet","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-letters-of-the-alphabet"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-numbers-and-letters-of-the-alphabet","blockName":"Regular Expressions"},"id":"587d7db5367417b2b2512b97","block":"regular-expressions","challengeType":1,"title":"Match Numbers and Letters of the Alphabet","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-numbers-and-letters-of-the-alphabet"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-single-characters-not-specified","blockName":"Regular Expressions"},"id":"587d7db6367417b2b2512b98","block":"regular-expressions","challengeType":1,"title":"Match Single Characters Not Specified","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-single-characters-not-specified"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-one-or-more-times","blockName":"Regular Expressions"},"id":"587d7db6367417b2b2512b99","block":"regular-expressions","challengeType":1,"title":"Match Characters that Occur One or More Times","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-characters-that-occur-one-or-more-times"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-zero-or-more-times","blockName":"Regular Expressions"},"id":"587d7db6367417b2b2512b9a","block":"regular-expressions","challengeType":1,"title":"Match Characters that Occur Zero or More Times","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-characters-that-occur-zero-or-more-times"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/find-characters-with-lazy-matching","blockName":"Regular Expressions"},"id":"587d7db6367417b2b2512b9b","block":"regular-expressions","challengeType":1,"title":"Find Characters with Lazy Matching","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-characters-with-lazy-matching"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt","blockName":"Regular Expressions"},"id":"587d7db7367417b2b2512b9c","block":"regular-expressions","challengeType":1,"title":"Find One or More Criminals in a Hunt","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-one-or-more-criminals-in-a-hunt"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-beginning-string-patterns","blockName":"Regular Expressions"},"id":"587d7db7367417b2b2512b9d","block":"regular-expressions","challengeType":1,"title":"Match Beginning String Patterns","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-beginning-string-patterns"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-ending-string-patterns","blockName":"Regular Expressions"},"id":"587d7db7367417b2b2512b9e","block":"regular-expressions","challengeType":1,"title":"Match Ending String Patterns","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-ending-string-patterns"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers","blockName":"Regular Expressions"},"id":"587d7db7367417b2b2512b9f","block":"regular-expressions","challengeType":1,"title":"Match All Letters and Numbers","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-all-letters-and-numbers"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-everything-but-letters-and-numbers","blockName":"Regular Expressions"},"id":"587d7db8367417b2b2512ba0","block":"regular-expressions","challengeType":1,"title":"Match Everything But Letters and Numbers","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-everything-but-letters-and-numbers"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-numbers","blockName":"Regular Expressions"},"id":"5d712346c441eddfaeb5bdef","block":"regular-expressions","challengeType":1,"title":"Match All Numbers","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-all-numbers"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-non-numbers","blockName":"Regular Expressions"},"id":"587d7db8367417b2b2512ba1","block":"regular-expressions","challengeType":1,"title":"Match All Non-Numbers","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-all-non-numbers"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/restrict-possible-usernames","blockName":"Regular Expressions"},"id":"587d7db8367417b2b2512ba2","block":"regular-expressions","challengeType":1,"title":"Restrict Possible Usernames","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"restrict-possible-usernames"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-whitespace","blockName":"Regular Expressions"},"id":"587d7db8367417b2b2512ba3","block":"regular-expressions","challengeType":1,"title":"Match Whitespace","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-whitespace"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/match-non-whitespace-characters","blockName":"Regular Expressions"},"id":"587d7db9367417b2b2512ba4","block":"regular-expressions","challengeType":1,"title":"Match Non-Whitespace Characters","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"match-non-whitespace-characters"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-upper-and-lower-number-of-matches","blockName":"Regular Expressions"},"id":"587d7db9367417b2b2512ba5","block":"regular-expressions","challengeType":1,"title":"Specify Upper and Lower Number of Matches","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"specify-upper-and-lower-number-of-matches"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-only-the-lower-number-of-matches","blockName":"Regular Expressions"},"id":"587d7db9367417b2b2512ba6","block":"regular-expressions","challengeType":1,"title":"Specify Only the Lower Number of Matches","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"specify-only-the-lower-number-of-matches"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-exact-number-of-matches","blockName":"Regular Expressions"},"id":"587d7db9367417b2b2512ba7","block":"regular-expressions","challengeType":1,"title":"Specify Exact Number of Matches","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"specify-exact-number-of-matches"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/check-for-all-or-none","blockName":"Regular Expressions"},"id":"587d7dba367417b2b2512ba8","block":"regular-expressions","challengeType":1,"title":"Check for All or None","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-for-all-or-none"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/positive-and-negative-lookahead","blockName":"Regular Expressions"},"id":"587d7dba367417b2b2512ba9","block":"regular-expressions","challengeType":1,"title":"Positive and Negative Lookahead","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"positive-and-negative-lookahead"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/check-for-mixed-grouping-of-characters","blockName":"Regular Expressions"},"id":"5c3dda8b4d8df89bea71600f","block":"regular-expressions","challengeType":1,"title":"Check For Mixed Grouping of Characters","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-for-mixed-grouping-of-characters"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups","blockName":"Regular Expressions"},"id":"587d7dbb367417b2b2512baa","block":"regular-expressions","challengeType":1,"title":"Reuse Patterns Using Capture Groups","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reuse-patterns-using-capture-groups"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/use-capture-groups-to-search-and-replace","blockName":"Regular Expressions"},"id":"587d7dbb367417b2b2512bab","block":"regular-expressions","challengeType":1,"title":"Use Capture Groups to Search and Replace","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-capture-groups-to-search-and-replace"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/regular-expressions/remove-whitespace-from-start-and-end","blockName":"Regular Expressions"},"id":"587d7dbb367417b2b2512bac","block":"regular-expressions","challengeType":1,"title":"Remove Whitespace from Start and End","order":2,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-whitespace-from-start-and-end"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/use-the-javascript-console-to-check-the-value-of-a-variable","blockName":"Debugging"},"id":"587d7b83367417b2b2512b33","block":"debugging","challengeType":1,"title":"Use the JavaScript Console to Check the Value of a Variable","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-javascript-console-to-check-the-value-of-a-variable"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/understanding-the-differences-between-the-freecodecamp-and-browser-console","blockName":"Debugging"},"id":"587d7b83367417b2b2512b37","block":"debugging","challengeType":1,"title":"Understanding the Differences between the freeCodeCamp and Browser Console","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understanding-the-differences-between-the-freecodecamp-and-browser-console"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/use-typeof-to-check-the-type-of-a-variable","blockName":"Debugging"},"id":"587d7b84367417b2b2512b34","block":"debugging","challengeType":1,"title":"Use typeof to Check the Type of a Variable","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-typeof-to-check-the-type-of-a-variable"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-misspelled-variable-and-function-names","blockName":"Debugging"},"id":"587d7b84367417b2b2512b35","block":"debugging","challengeType":1,"title":"Catch Misspelled Variable and Function Names","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-misspelled-variable-and-function-names"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-unclosed-parentheses-brackets-braces-and-quotes","blockName":"Debugging"},"id":"587d7b84367417b2b2512b36","block":"debugging","challengeType":1,"title":"Catch Unclosed Parentheses, Brackets, Braces and Quotes","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-unclosed-parentheses-brackets-braces-and-quotes"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-mixed-usage-of-single-and-double-quotes","blockName":"Debugging"},"id":"587d7b84367417b2b2512b37","block":"debugging","challengeType":1,"title":"Catch Mixed Usage of Single and Double Quotes","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-mixed-usage-of-single-and-double-quotes"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-use-of-assignment-operator-instead-of-equality-operator","blockName":"Debugging"},"id":"587d7b85367417b2b2512b38","block":"debugging","challengeType":1,"title":"Catch Use of Assignment Operator Instead of Equality Operator","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-use-of-assignment-operator-instead-of-equality-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-missing-open-and-closing-parenthesis-after-a-function-call","blockName":"Debugging"},"id":"587d7b85367417b2b2512b39","block":"debugging","challengeType":1,"title":"Catch Missing Open and Closing Parenthesis After a Function Call","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-missing-open-and-closing-parenthesis-after-a-function-call"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-arguments-passed-in-the-wrong-order-when-calling-a-function","blockName":"Debugging"},"id":"587d7b85367417b2b2512b3a","block":"debugging","challengeType":1,"title":"Catch Arguments Passed in the Wrong Order When Calling a Function","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-arguments-passed-in-the-wrong-order-when-calling-a-function"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/catch-off-by-one-errors-when-using-indexing","blockName":"Debugging"},"id":"587d7b86367417b2b2512b3b","block":"debugging","challengeType":1,"title":"Catch Off By One Errors When Using Indexing","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"catch-off-by-one-errors-when-using-indexing"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/use-caution-when-reinitializing-variables-inside-a-loop","blockName":"Debugging"},"id":"587d7b86367417b2b2512b3c","block":"debugging","challengeType":1,"title":"Use Caution When Reinitializing Variables Inside a Loop","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-caution-when-reinitializing-variables-inside-a-loop"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/debugging/prevent-infinite-loops-with-a-valid-terminal-condition","blockName":"Debugging"},"id":"587d7b86367417b2b2512b3d","block":"debugging","challengeType":1,"title":"Prevent Infinite Loops with a Valid Terminal Condition","order":3,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"prevent-infinite-loops-with-a-valid-terminal-condition"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/use-an-array-to-store-a-collection-of-data","blockName":"Basic Data Structures"},"id":"587d7b7e367417b2b2512b20","block":"basic-data-structures","challengeType":1,"title":"Use an Array to Store a Collection of Data","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-an-array-to-store-a-collection-of-data"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/access-an-arrays-contents-using-bracket-notation","blockName":"Basic Data Structures"},"id":"5a661e0f1068aca922b3ef17","block":"basic-data-structures","challengeType":1,"title":"Access an Array's Contents Using Bracket Notation","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-an-arrays-contents-using-bracket-notation"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-items-to-an-array-with-push-and-unshift","blockName":"Basic Data Structures"},"id":"587d78b2367417b2b2512b0e","block":"basic-data-structures","challengeType":1,"title":"Add Items to an Array with push() and unshift()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-items-to-an-array-with-push-and-unshift"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/remove-items-from-an-array-with-pop-and-shift","blockName":"Basic Data Structures"},"id":"587d78b2367417b2b2512b0f","block":"basic-data-structures","challengeType":1,"title":"Remove Items from an Array with pop() and shift()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-items-from-an-array-with-pop-and-shift"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice","blockName":"Basic Data Structures"},"id":"587d78b2367417b2b2512b10","block":"basic-data-structures","challengeType":1,"title":"Remove Items Using splice()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-items-using-splice"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-items-using-splice","blockName":"Basic Data Structures"},"id":"587d78b3367417b2b2512b11","block":"basic-data-structures","challengeType":1,"title":"Add Items Using splice()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-items-using-splice"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/copy-array-items-using-slice","blockName":"Basic Data Structures"},"id":"587d7b7a367417b2b2512b12","block":"basic-data-structures","challengeType":1,"title":"Copy Array Items Using slice()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"copy-array-items-using-slice"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/copy-an-array-with-the-spread-operator","blockName":"Basic Data Structures"},"id":"587d7b7b367417b2b2512b13","block":"basic-data-structures","challengeType":1,"title":"Copy an Array with the Spread Operator","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"copy-an-array-with-the-spread-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/combine-arrays-with-the-spread-operator","blockName":"Basic Data Structures"},"id":"587d7b7b367417b2b2512b17","block":"basic-data-structures","challengeType":1,"title":"Combine Arrays with the Spread Operator","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"combine-arrays-with-the-spread-operator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof","blockName":"Basic Data Structures"},"id":"587d7b7b367417b2b2512b14","block":"basic-data-structures","challengeType":1,"title":"Check For The Presence of an Element With indexOf()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-for-the-presence-of-an-element-with-indexof"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-all-an-arrays-items-using-for-loops","blockName":"Basic Data Structures"},"id":"587d7b7b367417b2b2512b15","block":"basic-data-structures","challengeType":1,"title":"Iterate Through All an Array's Items Using For Loops","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-through-all-an-arrays-items-using-for-loops"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/create-complex-multi-dimensional-arrays","blockName":"Basic Data Structures"},"id":"587d7b7b367417b2b2512b16","block":"basic-data-structures","challengeType":1,"title":"Create complex multi-dimensional arrays","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-complex-multi-dimensional-arrays"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-key-value-pairs-to-javascript-objects","blockName":"Basic Data Structures"},"id":"587d7b7c367417b2b2512b18","block":"basic-data-structures","challengeType":1,"title":"Add Key-Value Pairs to JavaScript Objects","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-key-value-pairs-to-javascript-objects"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/modify-an-object-nested-within-an-object","blockName":"Basic Data Structures"},"id":"587d7b7c367417b2b2512b19","block":"basic-data-structures","challengeType":1,"title":"Modify an Object Nested Within an Object","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"modify-an-object-nested-within-an-object"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/access-property-names-with-bracket-notation","blockName":"Basic Data Structures"},"id":"587d7b7c367417b2b2512b1a","block":"basic-data-structures","challengeType":1,"title":"Access Property Names with Bracket Notation","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"access-property-names-with-bracket-notation"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/use-the-delete-keyword-to-remove-object-properties","blockName":"Basic Data Structures"},"id":"587d7b7c367417b2b2512b1b","block":"basic-data-structures","challengeType":1,"title":"Use the delete Keyword to Remove Object Properties","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-delete-keyword-to-remove-object-properties"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/check-if-an-object-has-a-property","blockName":"Basic Data Structures"},"id":"587d7b7d367417b2b2512b1c","block":"basic-data-structures","challengeType":1,"title":"Check if an Object has a Property","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"check-if-an-object-has-a-property"}}},{"node":{"challenge":{"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"},"id":"587d7b7d367417b2b2512b1d","block":"basic-data-structures","challengeType":1,"title":"Iterate Through the Keys of an Object with a for...in Statement","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-through-the-keys-of-an-object-with-a-for---in-statement"}}},{"node":{"challenge":{"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"},"id":"587d7b7d367417b2b2512b1e","block":"basic-data-structures","challengeType":1,"title":"Generate an Array of All Object Keys with Object.keys()","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"generate-an-array-of-all-object-keys-with-object-keys"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-data-structures/modify-an-array-stored-in-an-object","blockName":"Basic Data Structures"},"id":"587d7b7d367417b2b2512b1f","block":"basic-data-structures","challengeType":1,"title":"Modify an Array Stored in an Object","order":4,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"modify-an-array-stored-in-an-object"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/convert-celsius-to-fahrenheit","blockName":"Basic Algorithm Scripting"},"id":"56533eb9ac21ba0edf2244b3","block":"basic-algorithm-scripting","challengeType":1,"title":"Convert Celsius to Fahrenheit","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"convert-celsius-to-fahrenheit"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/reverse-a-string","blockName":"Basic Algorithm Scripting"},"id":"a202eed8fc186c8434cb6d61","block":"basic-algorithm-scripting","challengeType":5,"title":"Reverse a String","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reverse-a-string"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/factorialize-a-number","blockName":"Basic Algorithm Scripting"},"id":"a302f7aae1aa3152a5b413bc","block":"basic-algorithm-scripting","challengeType":5,"title":"Factorialize a Number","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"factorialize-a-number"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/find-the-longest-word-in-a-string","blockName":"Basic Algorithm Scripting"},"id":"a26cbbe9ad8655a977e1ceb5","block":"basic-algorithm-scripting","challengeType":5,"title":"Find the Longest Word in a String","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"find-the-longest-word-in-a-string"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/return-largest-numbers-in-arrays","blockName":"Basic Algorithm Scripting"},"id":"a789b3483989747d63b0e427","block":"basic-algorithm-scripting","challengeType":5,"title":"Return Largest Numbers in Arrays","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-largest-numbers-in-arrays"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/confirm-the-ending","blockName":"Basic Algorithm Scripting"},"id":"acda2fb1324d9b0fa741e6b5","block":"basic-algorithm-scripting","challengeType":5,"title":"Confirm the Ending","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"confirm-the-ending"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/repeat-a-string-repeat-a-string","blockName":"Basic Algorithm Scripting"},"id":"afcc8d540bea9ea2669306b6","block":"basic-algorithm-scripting","challengeType":5,"title":"Repeat a String Repeat a String","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"repeat-a-string-repeat-a-string"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/truncate-a-string","blockName":"Basic Algorithm Scripting"},"id":"ac6993d51946422351508a41","block":"basic-algorithm-scripting","challengeType":5,"title":"Truncate a String","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"truncate-a-string"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/finders-keepers","blockName":"Basic Algorithm Scripting"},"id":"a6e40f1041b06c996f7b2406","block":"basic-algorithm-scripting","challengeType":5,"title":"Finders Keepers","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"finders-keepers"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/boo-who","blockName":"Basic Algorithm Scripting"},"id":"a77dbc43c33f39daa4429b4f","block":"basic-algorithm-scripting","challengeType":5,"title":"Boo who","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"boo-who"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/title-case-a-sentence","blockName":"Basic Algorithm Scripting"},"id":"ab6137d4e35944e21037b769","block":"basic-algorithm-scripting","challengeType":5,"title":"Title Case a Sentence","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"title-case-a-sentence"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/slice-and-splice","blockName":"Basic Algorithm Scripting"},"id":"579e2a2c335b9d72dd32e05c","block":"basic-algorithm-scripting","challengeType":5,"title":"Slice and Splice","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"slice-and-splice"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/falsy-bouncer","blockName":"Basic Algorithm Scripting"},"id":"adf08ec01beb4f99fc7a68f2","block":"basic-algorithm-scripting","challengeType":5,"title":"Falsy Bouncer","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"falsy-bouncer"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/where-do-i-belong","blockName":"Basic Algorithm Scripting"},"id":"a24c1a4622e3c05097f71d67","block":"basic-algorithm-scripting","challengeType":5,"title":"Where do I Belong","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"where-do-i-belong"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/mutations","blockName":"Basic Algorithm Scripting"},"id":"af2170cad53daa0770fabdea","block":"basic-algorithm-scripting","challengeType":5,"title":"Mutations","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"mutations"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/chunky-monkey","blockName":"Basic Algorithm Scripting"},"id":"a9bd25c716030ec90084d8a1","block":"basic-algorithm-scripting","challengeType":5,"title":"Chunky Monkey","order":5,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"chunky-monkey"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/create-a-basic-javascript-object","blockName":"Object Oriented Programming"},"id":"587d7dac367417b2b2512b73","block":"object-oriented-programming","challengeType":1,"title":"Create a Basic JavaScript Object","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-basic-javascript-object"}}},{"node":{"challenge":{"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"},"id":"587d7dac367417b2b2512b74","block":"object-oriented-programming","challengeType":1,"title":"Use Dot Notation to Access the Properties of an Object","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-dot-notation-to-access-the-properties-of-an-object"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/create-a-method-on-an-object","blockName":"Object Oriented Programming"},"id":"587d7dad367417b2b2512b75","block":"object-oriented-programming","challengeType":1,"title":"Create a Method on an Object","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"create-a-method-on-an-object"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/make-code-more-reusable-with-the-this-keyword","blockName":"Object Oriented Programming"},"id":"587d7dad367417b2b2512b76","block":"object-oriented-programming","challengeType":1,"title":"Make Code More Reusable with the this Keyword","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"make-code-more-reusable-with-the-this-keyword"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/define-a-constructor-function","blockName":"Object Oriented Programming"},"id":"587d7dad367417b2b2512b77","block":"object-oriented-programming","challengeType":1,"title":"Define a Constructor Function","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"define-a-constructor-function"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-a-constructor-to-create-objects","blockName":"Object Oriented Programming"},"id":"587d7dad367417b2b2512b78","block":"object-oriented-programming","challengeType":1,"title":"Use a Constructor to Create Objects","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-a-constructor-to-create-objects"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/extend-constructors-to-receive-arguments","blockName":"Object Oriented Programming"},"id":"587d7dae367417b2b2512b79","block":"object-oriented-programming","challengeType":1,"title":"Extend Constructors to Receive Arguments","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"extend-constructors-to-receive-arguments"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/verify-an-objects-constructor-with-instanceof","blockName":"Object Oriented Programming"},"id":"587d7dae367417b2b2512b7a","block":"object-oriented-programming","challengeType":1,"title":"Verify an Object's Constructor with instanceof","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"verify-an-objects-constructor-with-instanceof"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties","blockName":"Object Oriented Programming"},"id":"587d7dae367417b2b2512b7b","block":"object-oriented-programming","challengeType":1,"title":"Understand Own Properties","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-own-properties"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-prototype-properties-to-reduce-duplicate-code","blockName":"Object Oriented Programming"},"id":"587d7dae367417b2b2512b7c","block":"object-oriented-programming","challengeType":1,"title":"Use Prototype Properties to Reduce Duplicate Code","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-prototype-properties-to-reduce-duplicate-code"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/iterate-over-all-properties","blockName":"Object Oriented Programming"},"id":"587d7daf367417b2b2512b7d","block":"object-oriented-programming","challengeType":1,"title":"Iterate Over All Properties","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"iterate-over-all-properties"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-constructor-property","blockName":"Object Oriented Programming"},"id":"587d7daf367417b2b2512b7e","block":"object-oriented-programming","challengeType":1,"title":"Understand the Constructor Property","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-constructor-property"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/change-the-prototype-to-a-new-object","blockName":"Object Oriented Programming"},"id":"587d7daf367417b2b2512b7f","block":"object-oriented-programming","challengeType":1,"title":"Change the Prototype to a New Object","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"change-the-prototype-to-a-new-object"}}},{"node":{"challenge":{"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"},"id":"587d7daf367417b2b2512b80","block":"object-oriented-programming","challengeType":1,"title":"Remember to Set the Constructor Property when Changing the Prototype","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remember-to-set-the-constructor-property-when-changing-the-prototype"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-where-an-objects-prototype-comes-from","blockName":"Object Oriented Programming"},"id":"587d7db0367417b2b2512b81","block":"object-oriented-programming","challengeType":1,"title":"Understand Where an Object’s Prototype Comes From","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-where-an-objects-prototype-comes-from"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-prototype-chain","blockName":"Object Oriented Programming"},"id":"587d7db0367417b2b2512b82","block":"object-oriented-programming","challengeType":1,"title":"Understand the Prototype Chain","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-prototype-chain"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-inheritance-so-you-dont-repeat-yourself","blockName":"Object Oriented Programming"},"id":"587d7db0367417b2b2512b83","block":"object-oriented-programming","challengeType":1,"title":"Use Inheritance So You Don't Repeat Yourself","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-inheritance-so-you-dont-repeat-yourself"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/inherit-behaviors-from-a-supertype","blockName":"Object Oriented Programming"},"id":"587d7db0367417b2b2512b84","block":"object-oriented-programming","challengeType":1,"title":"Inherit Behaviors from a Supertype","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"inherit-behaviors-from-a-supertype"}}},{"node":{"challenge":{"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"},"id":"587d7db1367417b2b2512b85","block":"object-oriented-programming","challengeType":1,"title":"Set the Child's Prototype to an Instance of the Parent","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"set-the-childs-prototype-to-an-instance-of-the-parent"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/reset-an-inherited-constructor-property","blockName":"Object Oriented Programming"},"id":"587d7db1367417b2b2512b86","block":"object-oriented-programming","challengeType":1,"title":"Reset an Inherited Constructor Property","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"reset-an-inherited-constructor-property"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/add-methods-after-inheritance","blockName":"Object Oriented Programming"},"id":"587d7db1367417b2b2512b87","block":"object-oriented-programming","challengeType":1,"title":"Add Methods After Inheritance","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-methods-after-inheritance"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/override-inherited-methods","blockName":"Object Oriented Programming"},"id":"587d7db1367417b2b2512b88","block":"object-oriented-programming","challengeType":1,"title":"Override Inherited Methods","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"override-inherited-methods"}}},{"node":{"challenge":{"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"},"id":"587d7db2367417b2b2512b89","block":"object-oriented-programming","challengeType":1,"title":"Use a Mixin to Add Common Behavior Between Unrelated Objects","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-a-mixin-to-add-common-behavior-between-unrelated-objects"}}},{"node":{"challenge":{"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"},"id":"587d7db2367417b2b2512b8a","block":"object-oriented-programming","challengeType":1,"title":"Use Closure to Protect Properties Within an Object from Being Modified Externally","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-closure-to-protect-properties-within-an-object-from-being-modified-externally"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife","blockName":"Object Oriented Programming"},"id":"587d7db2367417b2b2512b8b","block":"object-oriented-programming","challengeType":1,"title":"Understand the Immediately Invoked Function Expression (IIFE)","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-immediately-invoked-function-expression-iife"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-an-iife-to-create-a-module","blockName":"Object Oriented Programming"},"id":"587d7db2367417b2b2512b8c","block":"object-oriented-programming","challengeType":1,"title":"Use an IIFE to Create a Module","order":6,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-an-iife-to-create-a-module"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming","blockName":"Functional Programming"},"id":"587d7b8d367417b2b2512b5b","block":"functional-programming","challengeType":1,"title":"Learn About Functional Programming","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"learn-about-functional-programming"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/understand-functional-programming-terminology","blockName":"Functional Programming"},"id":"587d7b8e367417b2b2512b5c","block":"functional-programming","challengeType":1,"title":"Understand Functional Programming Terminology","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-functional-programming-terminology"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code","blockName":"Functional Programming"},"id":"587d7b8e367417b2b2512b5d","block":"functional-programming","challengeType":1,"title":"Understand the Hazards of Using Imperative Code","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"understand-the-hazards-of-using-imperative-code"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/avoid-mutations-and-side-effects-using-functional-programming","blockName":"Functional Programming"},"id":"587d7b8e367417b2b2512b5e","block":"functional-programming","challengeType":1,"title":"Avoid Mutations and Side Effects Using Functional Programming","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"avoid-mutations-and-side-effects-using-functional-programming"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/pass-arguments-to-avoid-external-dependence-in-a-function","blockName":"Functional Programming"},"id":"587d7b8e367417b2b2512b5f","block":"functional-programming","challengeType":1,"title":"Pass Arguments to Avoid External Dependence in a Function","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"pass-arguments-to-avoid-external-dependence-in-a-function"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions","blockName":"Functional Programming"},"id":"587d7b8f367417b2b2512b60","block":"functional-programming","challengeType":1,"title":"Refactor Global Variables Out of Functions","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"refactor-global-variables-out-of-functions"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-map-method-to-extract-data-from-an-array","blockName":"Functional Programming"},"id":"587d7b8f367417b2b2512b61","block":"functional-programming","challengeType":1,"title":"Use the map Method to Extract Data from an Array","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-map-method-to-extract-data-from-an-array"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype","blockName":"Functional Programming"},"id":"587d7b8f367417b2b2512b62","block":"functional-programming","challengeType":1,"title":"Implement map on a Prototype","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"implement-map-on-a-prototype"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-filter-method-to-extract-data-from-an-array","blockName":"Functional Programming"},"id":"587d7b8f367417b2b2512b63","block":"functional-programming","challengeType":1,"title":"Use the filter Method to Extract Data from an Array","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-filter-method-to-extract-data-from-an-array"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype","blockName":"Functional Programming"},"id":"587d7b8f367417b2b2512b64","block":"functional-programming","challengeType":1,"title":"Implement the filter Method on a Prototype","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"implement-the-filter-method-on-a-prototype"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/return-part-of-an-array-using-the-slice-method","blockName":"Functional Programming"},"id":"587d7b90367417b2b2512b65","block":"functional-programming","challengeType":1,"title":"Return Part of an Array Using the slice Method","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-part-of-an-array-using-the-slice-method"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/remove-elements-from-an-array-using-slice-instead-of-splice","blockName":"Functional Programming"},"id":"9d7123c8c441eeafaeb5bdef","block":"functional-programming","challengeType":1,"title":"Remove Elements from an Array Using slice Instead of splice","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"remove-elements-from-an-array-using-slice-instead-of-splice"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/combine-two-arrays-using-the-concat-method","blockName":"Functional Programming"},"id":"587d7da9367417b2b2512b66","block":"functional-programming","challengeType":1,"title":"Combine Two Arrays Using the concat Method","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"combine-two-arrays-using-the-concat-method"}}},{"node":{"challenge":{"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"},"id":"587d7da9367417b2b2512b67","block":"functional-programming","challengeType":1,"title":"Add Elements to the End of an Array Using concat Instead of push","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"add-elements-to-the-end-of-an-array-using-concat-instead-of-push"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-reduce-method-to-analyze-data","blockName":"Functional Programming"},"id":"587d7da9367417b2b2512b68","block":"functional-programming","challengeType":1,"title":"Use the reduce Method to Analyze Data","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-reduce-method-to-analyze-data"}}},{"node":{"challenge":{"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"},"id":"587d7b88367417b2b2512b45","block":"functional-programming","challengeType":1,"title":"Use Higher-Order Functions map, filter, or reduce to Solve a Complex Problem","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-higher-order-functions-map-filter-or-reduce-to-solve-a-complex-problem"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method","blockName":"Functional Programming"},"id":"587d7da9367417b2b2512b69","block":"functional-programming","challengeType":1,"title":"Sort an Array Alphabetically using the sort Method","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sort-an-array-alphabetically-using-the-sort-method"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array","blockName":"Functional Programming"},"id":"587d7da9367417b2b2512b6a","block":"functional-programming","challengeType":1,"title":"Return a Sorted Array Without Changing the Original Array","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"return-a-sorted-array-without-changing-the-original-array"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/split-a-string-into-an-array-using-the-split-method","blockName":"Functional Programming"},"id":"587d7daa367417b2b2512b6b","block":"functional-programming","challengeType":1,"title":"Split a String into an Array Using the split Method","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"split-a-string-into-an-array-using-the-split-method"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/combine-an-array-into-a-string-using-the-join-method","blockName":"Functional Programming"},"id":"587d7daa367417b2b2512b6c","block":"functional-programming","challengeType":1,"title":"Combine an Array into a String Using the join Method","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"combine-an-array-into-a-string-using-the-join-method"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs","blockName":"Functional Programming"},"id":"587d7dab367417b2b2512b6d","block":"functional-programming","challengeType":1,"title":"Apply Functional Programming to Convert Strings to URL Slugs","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"apply-functional-programming-to-convert-strings-to-url-slugs"}}},{"node":{"challenge":{"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"},"id":"587d7dab367417b2b2512b6e","block":"functional-programming","challengeType":1,"title":"Use the every Method to Check that Every Element in an Array Meets a Criteria","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria"}}},{"node":{"challenge":{"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"},"id":"587d7dab367417b2b2512b6f","block":"functional-programming","challengeType":1,"title":"Use the some Method to Check that Any Elements in an Array Meet a Criteria","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application","blockName":"Functional Programming"},"id":"587d7dab367417b2b2512b70","block":"functional-programming","challengeType":1,"title":"Introduction to Currying and Partial Application","order":7,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"introduction-to-currying-and-partial-application"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range","blockName":"Intermediate Algorithm Scripting"},"id":"a3566b1109230028080c9345","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Sum All Numbers in a Range","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sum-all-numbers-in-a-range"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/diff-two-arrays","blockName":"Intermediate Algorithm Scripting"},"id":"a5de63ebea8dbee56860f4f2","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Diff Two Arrays","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"diff-two-arrays"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/seek-and-destroy","blockName":"Intermediate Algorithm Scripting"},"id":"a39963a4c10bc8b4d4f06d7e","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Seek and Destroy","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"seek-and-destroy"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/wherefore-art-thou","blockName":"Intermediate Algorithm Scripting"},"id":"a8e512fbe388ac2f9198f0fa","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Wherefore art thou","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"wherefore-art-thou"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/spinal-tap-case","blockName":"Intermediate Algorithm Scripting"},"id":"a103376db3ba46b2d50db289","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Spinal Tap Case","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"spinal-tap-case"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/pig-latin","blockName":"Intermediate Algorithm Scripting"},"id":"aa7697ea2477d1316795783b","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Pig Latin","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"pig-latin"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/search-and-replace","blockName":"Intermediate Algorithm Scripting"},"id":"a0b5010f579e69b815e7c5d6","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Search and Replace","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"search-and-replace"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/dna-pairing","blockName":"Intermediate Algorithm Scripting"},"id":"afd15382cdfb22c9efe8b7de","block":"intermediate-algorithm-scripting","challengeType":5,"title":"DNA Pairing","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"dna-pairing"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/missing-letters","blockName":"Intermediate Algorithm Scripting"},"id":"af7588ade1100bde429baf20","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Missing letters","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"missing-letters"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union","blockName":"Intermediate Algorithm Scripting"},"id":"a105e963526e7de52b219be9","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Sorted Union","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sorted-union"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/convert-html-entities","blockName":"Intermediate Algorithm Scripting"},"id":"a6b0bb188d873cb2c8729495","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Convert HTML Entities","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"convert-html-entities"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers","blockName":"Intermediate Algorithm Scripting"},"id":"a5229172f011153519423690","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Sum All Odd Fibonacci Numbers","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sum-all-odd-fibonacci-numbers"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-primes","blockName":"Intermediate Algorithm Scripting"},"id":"a3bfc1673c0526e06d3ac698","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Sum All Primes","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"sum-all-primes"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/smallest-common-multiple","blockName":"Intermediate Algorithm Scripting"},"id":"ae9defd7acaf69703ab432ea","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Smallest Common Multiple","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"smallest-common-multiple"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/drop-it","blockName":"Intermediate Algorithm Scripting"},"id":"a5deed1811a43193f9f1c841","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Drop it","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"drop-it"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller","blockName":"Intermediate Algorithm Scripting"},"id":"ab306dbdcc907c7ddfc30830","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Steamroller","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"steamroller"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/binary-agents","blockName":"Intermediate Algorithm Scripting"},"id":"a8d97bd4c764e91f9d2bda01","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Binary Agents","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"binary-agents"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/everything-be-true","blockName":"Intermediate Algorithm Scripting"},"id":"a10d2431ad0c6a099a4b8b52","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Everything Be True","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"everything-be-true"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional","blockName":"Intermediate Algorithm Scripting"},"id":"a97fd23d9b809dac9921074f","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Arguments Optional","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"arguments-optional"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person","blockName":"Intermediate Algorithm Scripting"},"id":"a2f1d72d9b908d0bd72bb9f6","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Make a Person","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"make-a-person"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/map-the-debris","blockName":"Intermediate Algorithm Scripting"},"id":"af4afb223120f7348cdfc9fd","block":"intermediate-algorithm-scripting","challengeType":5,"title":"Map the Debris","order":8,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"map-the-debris"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/palindrome-checker","blockName":"JavaScript Algorithms and Data Structures Projects"},"id":"aaa48de84e1ecc7c742e1124","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Palindrome Checker","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"palindrome-checker"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter","blockName":"JavaScript Algorithms and Data Structures Projects"},"id":"a7f4d8f2483413a6ce226cac","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Roman Numeral Converter","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"roman-numeral-converter"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/caesars-cipher","blockName":"JavaScript Algorithms and Data Structures Projects"},"id":"56533eb9ac21ba0edf2244e2","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Caesars Cipher","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"caesars-cipher"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/telephone-number-validator","blockName":"JavaScript Algorithms and Data Structures Projects"},"id":"aff0395860f5d3034dc0bfc9","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Telephone Number Validator","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"telephone-number-validator"}}},{"node":{"challenge":{"fields":{"slug":"/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register","blockName":"JavaScript Algorithms and Data Structures Projects"},"id":"aa2e6f85cab2ab736c9a9b24","block":"javascript-algorithms-and-data-structures-projects","challengeType":5,"title":"Cash Register","order":9,"superBlock":"javascript-algorithms-and-data-structures","dashedName":"cash-register"}}}]}},"pageContext":{"certification":"javascript-algorithms-and-data-structures","superBlock":"javascript-algorithms-and-data-structures","slug":"/learn/javascript-algorithms-and-data-structures/"}},
    "staticQueryHashes": ["3851966407","3877153394"]}