1 Star 0 Fork 69

yixiaotian / freecodecamp.cn

forked from FreeCodeCamp / freecodecamp.cn 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
dataAsync.js 59.56 KB
一键复制 编辑 原始数据 按行查看 历史
huluoyang 提交于 2016-08-19 10:23 . hidden juhe and email signin
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040
var matchArray = [
{
"id" : "560add10cb82ac38a17513be",
"name" : "Learn how Free Code Camp Works",
"challengeType" : "7"
},
{
"id" : "560add37cb82ac38a17513bf",
"name" : "Create a GitHub Account and Join our Chat Rooms",
"challengeType" : "7"
},
{
"id" : "560add56cb82ac38a17513c0",
"name" : "Configure your Code Portfolio",
"challengeType" : "7"
},
{
"id" : "560add71cb82ac38a17513c2",
"name" : "Join a Campsite in Your City",
"challengeType" : "7"
},
{
"id" : "560add8ccb82ac38a17513c4",
"name" : "Learn What to Do If You Get Stuck",
"challengeType" : "7"
},
{
"id" : "aff0395860f5d3034dc0bfc9",
"name" : "Validate US Telephone Numbers",
"challengeType" : "5"
},
{
"id" : "a3f503de51cf954ede28891d",
"name" : "Symmetric Difference",
"challengeType" : "5"
},
{
"id" : "aa2e6f85cab2ab736c9a9b24",
"name" : "Exact Change",
"challengeType" : "5"
},
{
"id" : "a56138aff60341a09ed6c480",
"name" : "Inventory Update",
"challengeType" : "5"
},
{
"id" : "a7bf700cd123b9a54eef01d5",
"name" : "No repeats please",
"challengeType" : "5"
},
{
"id" : "a19f0fbe1872186acd434d5a",
"name" : "Friendly Date Ranges",
"challengeType" : "5"
},
{
"id" : "a2f1d72d9b908d0bd72bb9f6",
"name" : "Make a Person",
"challengeType" : "5"
},
{
"id" : "af4afb223120f7348cdfc9fd",
"name" : "Map the Debris",
"challengeType" : "5"
},
{
"id" : "a3f503de51cfab748ff001aa",
"name" : "Pairwise",
"challengeType" : "5"
},
{
"id" : "bd7158d8c442eddfaeb5bd17",
"name" : "Build a JavaScript Calculator",
"challengeType" : "3"
},
{
"id" : "bd7158d8c442eddfaeb5bd0f",
"name" : "Build a Pomodoro Clock",
"challengeType" : "3"
},
{
"id" : "bd7158d8c442eedfaeb5bd1c",
"name" : "Build a Tic Tac Toe Game",
"challengeType" : "3"
},
{
"id" : "bd7158d8c442eddfaeb5bd1c",
"name" : "Build a Simon Game",
"challengeType" : "3"
},
{
"id" : "bd7158d2c442eddfbeb5bd1f",
"name" : "Get Set for our Algorithm Challenges",
"challengeType" : "7"
},
{
"id" : "a202eed8fc186c8434cb6d61",
"name" : "Reverse a String",
"challengeType" : "5"
},
{
"id" : "a302f7aae1aa3152a5b413bc",
"name" : "Factorialize a Number",
"challengeType" : "5"
},
{
"id" : "aaa48de84e1ecc7c742e1124",
"name" : "Check for Palindromes",
"challengeType" : "5"
},
{
"id" : "a26cbbe9ad8655a977e1ceb5",
"name" : "Find the Longest Word in a String",
"challengeType" : "5"
},
{
"id" : "ab6137d4e35944e21037b769",
"name" : "Title Case a Sentence",
"challengeType" : "5"
},
{
"id" : "a789b3483989747d63b0e427",
"name" : "Return Largest Numbers in Arrays",
"challengeType" : "5"
},
{
"id" : "acda2fb1324d9b0fa741e6b5",
"name" : "Confirm the Ending",
"challengeType" : "5"
},
{
"id" : "afcc8d540bea9ea2669306b6",
"name" : "Repeat a string repeat a string",
"challengeType" : "5"
},
{
"id" : "ac6993d51946422351508a41",
"name" : "Truncate a string",
"challengeType" : "5"
},
{
"id" : "a9bd25c716030ec90084d8a1",
"name" : "Chunky Monkey",
"challengeType" : "5"
},
{
"id" : "ab31c21b530c0dafa9e241ee",
"name" : "Slasher Flick",
"challengeType" : "5"
},
{
"id" : "af2170cad53daa0770fabdea",
"name" : "Mutations",
"challengeType" : "5"
},
{
"id" : "adf08ec01beb4f99fc7a68f2",
"name" : "Falsy Bouncer",
"challengeType" : "5"
},
{
"id" : "a39963a4c10bc8b4d4f06d7e",
"name" : "Seek and Destroy",
"challengeType" : "5"
},
{
"id" : "a24c1a4622e3c05097f71d67",
"name" : "Where do I belong",
"challengeType" : "5"
},
{
"id" : "56533eb9ac21ba0edf2244e2",
"name" : "Caesars Cipher",
"challengeType" : "5"
},
{
"id" : "bd7123c9c441eddfaeb4bdef",
"name" : "Comment your JavaScript Code",
"challengeType" : "1"
},
{
"id" : "bd7123c9c443eddfaeb5bdef",
"name" : "Declare JavaScript Variables",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244a8",
"name" : "Storing Values with the Equal Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244a9",
"name" : "Initializing Variables with the Equal Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244aa",
"name" : "Understanding Uninitialized Variables",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244ab",
"name" : "Understanding Case Sensitivity in Variables",
"challengeType" : "1"
},
{
"id" : "cf1111c1c11feddfaeb3bdef",
"name" : "Add Two Numbers with JavaScript",
"challengeType" : "1"
},
{
"id" : "cf1111c1c11feddfaeb4bdef",
"name" : "Subtract One Number from Another with JavaScript",
"challengeType" : "1"
},
{
"id" : "cf1231c1c11feddfaeb5bdef",
"name" : "Multiply Two Numbers with JavaScript",
"challengeType" : "1"
},
{
"id" : "cf1111c1c11feddfaeb6bdef",
"name" : "Divide One Number by Another with JavaScript",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244ac",
"name" : "Increment a Number with JavaScript",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244ad",
"name" : "Decrement a Number with JavaScript",
"challengeType" : "1"
},
{
"id" : "cf1391c1c11feddfaeb4bdef",
"name" : "Create Decimal Numbers with JavaScript",
"challengeType" : "1"
},
{
"id" : "bd7993c9c69feddfaeb7bdef",
"name" : "Multiply Two Decimals with JavaScript",
"challengeType" : "1"
},
{
"id" : "bd7993c9ca9feddfaeb7bdef",
"name" : "Divide one Decimal by Another with JavaScript",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244ae",
"name" : "Finding a Remainder in JavaScript",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244af",
"name" : "Assignment with Plus Equals",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244b0",
"name" : "Assignment with Minus Equals",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244b1",
"name" : "Assignment with Times Equals",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244b2",
"name" : "Assignment with Divided by Equals",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244b3",
"name" : "Convert Celsius to Fahrenheit",
"challengeType" : "1"
},
{
"id" : "bd7123c9c444eddfaeb5bdef",
"name" : "Declare String Variables",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244b5",
"name" : "Escaping Literal Quotes in Strings",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244b4",
"name" : "Quoting Strings with Single Quotes",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244b6",
"name" : "Escape Sequences in Strings",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244b7",
"name" : "Concatenating Strings with Plus Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244b8",
"name" : "Concatenating Strings with the Plus Equals Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244b9",
"name" : "Constructing Strings with Variables",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244ed",
"name" : "Appending Variables to Strings",
"challengeType" : "1"
},
{
"id" : "bd7123c9c448eddfaeb5bdef",
"name" : "Find the Length of a String",
"challengeType" : "1"
},
{
"id" : "bd7123c9c549eddfaeb5bdef",
"name" : "Use Bracket Notation to Find the First Character in a String",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244ba",
"name" : "Understand String Immutability",
"challengeType" : "1"
},
{
"id" : "bd7123c9c450eddfaeb5bdef",
"name" : "Use Bracket Notation to Find the Nth Character in a String",
"challengeType" : "1"
},
{
"id" : "bd7123c9c451eddfaeb5bdef",
"name" : "Use Bracket Notation to Find the Last Character in a String",
"challengeType" : "1"
},
{
"id" : "bd7123c9c452eddfaeb5bdef",
"name" : "Use Bracket Notation to Find the NthtoLast Character in a String",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244bb",
"name" : "Word Blanks",
"challengeType" : "1"
},
{
"id" : "bd7993c9c69feddfaeb8bdef",
"name" : "Store Multiple Values in one Variable using JavaScript Arrays",
"challengeType" : "1"
},
{
"id" : "cf1111c1c11feddfaeb7bdef",
"name" : "Nest one Array within Another Array",
"challengeType" : "1"
},
{
"id" : "56bbb991ad1ed5201cd392ca",
"name" : "Access Array Data with Indexes",
"challengeType" : "1"
},
{
"id" : "cf1111c1c11feddfaeb8bdef",
"name" : "Modify Array Data With Indexes",
"challengeType" : "1"
},
{
"id" : "56592a60ddddeae28f7aa8e1",
"name" : "Access MultiDimensional Arrays With Indexes",
"challengeType" : "1"
},
{
"id" : "56bbb991ad1ed5201cd392cb",
"name" : "Manipulate Arrays With push",
"challengeType" : "1"
},
{
"id" : "56bbb991ad1ed5201cd392cc",
"name" : "Manipulate Arrays With pop",
"challengeType" : "1"
},
{
"id" : "56bbb991ad1ed5201cd392cd",
"name" : "Manipulate Arrays With shift",
"challengeType" : "1"
},
{
"id" : "56bbb991ad1ed5201cd392ce",
"name" : "Manipulate Arrays With unshift",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244bc",
"name" : "Shopping List",
"challengeType" : "1"
},
{
"id" : "56bbb991ad1ed5201cd392cf",
"name" : "Write Reusable JavaScript with Functions",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244bd",
"name" : "Passing Values to Functions with Arguments",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244be",
"name" : "Global Scope and Functions",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244bf",
"name" : "Local Scope and Functions",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244c0",
"name" : "Global vs Local Scope in Functions",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244c2",
"name" : "Return a Value from a Function with Return",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244c3",
"name" : "Assignment with a Returned Value",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244c6",
"name" : "Stand in Line",
"challengeType" : "1"
},
{
"id" : "bd7123c9c441eddfaeb5bdef",
"name" : "Understanding Boolean Values",
"challengeType" : "1"
},
{
"id" : "cf1111c1c12feddfaeb3bdef",
"name" : "Use Conditional Logic with If Statements",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244d0",
"name" : "Comparison with the Equality Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244d1",
"name" : "Comparison with the Strict Equality Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244d2",
"name" : "Comparison with the Inequality Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244d3",
"name" : "Comparison with the Strict Inequality Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244d4",
"name" : "Comparison with the Greater Than Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244d5",
"name" : "Comparison with the Greater Than Or Equal To Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244d6",
"name" : "Comparison with the Less Than Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244d7",
"name" : "Comparison with the Less Than Or Equal To Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244d8",
"name" : "Comparisons with the Logical And Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244d9",
"name" : "Comparisons with the Logical Or Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244da",
"name" : "Introducing Else Statements",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244db",
"name" : "Introducing Else If Statements",
"challengeType" : "1"
},
{
"id" : "5690307fddb111c6084545d7",
"name" : "Logical Order in If Else Statements",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244dc",
"name" : "Chaining If Else Statements",
"challengeType" : "1"
},
{
"id" : "5664820f61c48e80c9fa476c",
"name" : "Golf Code",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244dd",
"name" : "Selecting from many options with Switch Statements",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244de",
"name" : "Adding a default option in Switch statements",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244df",
"name" : "Multiple Identical Options in Switch Statements",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244e0",
"name" : "Replacing If Else Chains with Switch",
"challengeType" : "1"
},
{
"id" : "5679ceb97cbaa8c51670a16b",
"name" : "Returning Boolean Values from Functions",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244c4",
"name" : "Return Early Pattern for Functions",
"challengeType" : "1"
},
{
"id" : "565bbe00e9cc8ac0725390f4",
"name" : "Counting Cards",
"challengeType" : "1"
},
{
"id" : "56bbb991ad1ed5201cd392d0",
"name" : "Build JavaScript Objects",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244c7",
"name" : "Accessing Objects Properties with the Dot Operator",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244c8",
"name" : "Accessing Objects Properties with Bracket Notation",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244c9",
"name" : "Accessing Objects Properties with Variables",
"challengeType" : "1"
},
{
"id" : "56bbb991ad1ed5201cd392d1",
"name" : "Updating Object Properties",
"challengeType" : "1"
},
{
"id" : "56bbb991ad1ed5201cd392d2",
"name" : "Add New Properties to a JavaScript Object",
"challengeType" : "1"
},
{
"id" : "56bbb991ad1ed5201cd392d3",
"name" : "Delete Properties from a JavaScript Object",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244ca",
"name" : "Using Objects for Lookups",
"challengeType" : "1"
},
{
"id" : "567af2437cbaa8c51670a16c",
"name" : "Testing Objects for Properties",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244cb",
"name" : "Introducing JavaScript Object Notation JSON",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244cc",
"name" : "Accessing Nested Objects in JSON",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244cd",
"name" : "Accessing Nested Arrays in JSON",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244cf",
"name" : "Record Collection",
"challengeType" : "1"
},
{
"id" : "cf1111c1c11feddfaeb5bdef",
"name" : "Iterate with JavaScript For Loops",
"challengeType" : "1"
},
{
"id" : "56104e9e514f539506016a5c",
"name" : "Iterate Odd Numbers With a For Loop",
"challengeType" : "1"
},
{
"id" : "56105e7b514f539506016a5e",
"name" : "Count Backwards With a For Loop",
"challengeType" : "1"
},
{
"id" : "5675e877dbd60be8ad28edc6",
"name" : "Iterate Through an Array with a For Loop",
"challengeType" : "1"
},
{
"id" : "56533eb9ac21ba0edf2244e1",
"name" : "Nesting For Loops",
"challengeType" : "1"
},
{
"id" : "cf1111c1c11feddfaeb1bdef",
"name" : "Iterate with JavaScript While Loops",
"challengeType" : "1"
},
{
"id" : "5688e62ea601b2482ff8422b",
"name" : "Profile Lookup",
"challengeType" : "1"
},
{
"id" : "cf1111c1c11feddfaeb9bdef",
"name" : "Generate Random Fractions with JavaScript",
"challengeType" : "1"
},
{
"id" : "cf1111c1c12feddfaeb1bdef",
"name" : "Generate Random Whole Numbers with JavaScript",
"challengeType" : "1"
},
{
"id" : "cf1111c1c12feddfaeb2bdef",
"name" : "Generate Random Whole Numbers within a Range",
"challengeType" : "1"
},
{
"id" : "cf1111c1c12feddfaeb6bdef",
"name" : "Sift through Text with Regular Expressions",
"challengeType" : "1"
},
{
"id" : "cf1111c1c12feddfaeb7bdef",
"name" : "Find Numbers with Regular Expressions",
"challengeType" : "1"
},
{
"id" : "cf1111c1c12feddfaeb8bdef",
"name" : "Find Whitespace with Regular Expressions",
"challengeType" : "1"
},
{
"id" : "cf1111c1c13feddfaeb3bdef",
"name" : "Invert Regular Expression Matches with JavaScript",
"challengeType" : "1"
},
{
"id" : "cf1111c1c12feddfaeb9bdef",
"name" : "Create a JavaScript Slot Machine",
"challengeType" : "0"
},
{
"id" : "cf1111c1c13feddfaeb1bdef",
"name" : "Add your JavaScript Slot Machine Slots",
"challengeType" : "0"
},
{
"id" : "cf1111c1c13feddfaeb2bdef",
"name" : "Bring your JavaScript Slot Machine to Life",
"challengeType" : "0"
},
{
"id" : "cf1111c1c11feddfaeb1bdff",
"name" : "Give your JavaScript Slot Machine some Stylish Images",
"challengeType" : "0"
},
{
"id" : "bd7158d8c442eddfbeb5bd1f",
"name" : "Get Set for our Front End Development Projects",
"challengeType" : "7"
},
{
"id" : "bd7158d8c442eddfaeb5bd18",
"name" : "Build a Tribute Page",
"challengeType" : "3"
},
{
"id" : "bd7158d8c242eddfaeb5bd13",
"name" : "Build a Personal Portfolio Webpage",
"challengeType" : "3"
},
{
"id" : "bad87fee1348bd9acde08712",
"name" : "Use Responsive Design with Bootstrap Fluid Containers",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9acde08812",
"name" : "Make Images Mobile Responsive",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd8acde08812",
"name" : "Center Text with Bootstrap",
"challengeType" : "0"
},
{
"id" : "bad87fee1348cd8acdf08812",
"name" : "Create a Bootstrap Button",
"challengeType" : "0"
},
{
"id" : "bad87fee1348cd8acef08812",
"name" : "Create a Block Element Bootstrap Button",
"challengeType" : "0"
},
{
"id" : "bad87fee1348cd8acef08811",
"name" : "Taste the Bootstrap Button Color Rainbow",
"challengeType" : "0"
},
{
"id" : "bad87fee1348cd8acef08813",
"name" : "Call out Optional Actions with Button Info",
"challengeType" : "0"
},
{
"id" : "bad87fee1348ce8acef08814",
"name" : "Warn your Users of a Dangerous Action",
"challengeType" : "0"
},
{
"id" : "bad88fee1348ce8acef08815",
"name" : "Use the Bootstrap Grid to Put Elements Side By Side",
"challengeType" : "0"
},
{
"id" : "bad87fee1347bd9aedf08845",
"name" : "Ditch Custom CSS for Bootstrap",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08845",
"name" : "Use Spans for Inline Elements",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aede08845",
"name" : "Create a Custom Heading",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedd08845",
"name" : "Add Font Awesome Icons to our Buttons",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedc08845",
"name" : "Add Font Awesome Icons to all of our Buttons",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedb08845",
"name" : "Responsively Style Radio Buttons",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aeda08845",
"name" : "Responsively Style Checkboxes",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed908845",
"name" : "Style Text Inputs as Form Controls",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908845",
"name" : "Line up Form Elements Responsively with Bootstrap",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908846",
"name" : "Create a Bootstrap Headline",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908746",
"name" : "House our page within a Bootstrap Container Fluid Div",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9bec908846",
"name" : "Create a Bootstrap Row",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908847",
"name" : "Split your Bootstrap Row",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908848",
"name" : "Create Bootstrap Wells",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908849",
"name" : "Add Elements within your Bootstrap Wells",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908850",
"name" : "Apply the Default Bootstrap Button Style",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908852",
"name" : "Create a Class to Target with jQuery Selectors",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908853",
"name" : "Add ID Attributes to Bootstrap Elements",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908854",
"name" : "Label Bootstrap Wells",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908855",
"name" : "Give Each Element a Unique ID",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908856",
"name" : "Label Bootstrap Buttons",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aec908857",
"name" : "Use Comments to Clarify Code",
"challengeType" : "0"
},
{
"id" : "561add10cb82ac38a17513be",
"name" : "Claim Your Front End Development Certificate",
"challengeType" : "7"
},
{
"id" : "570add8ccb82ac38a17513c3",
"name" : "Join our LinkedIn Alumni Network",
"challengeType" : "7"
},
{
"id" : "560adc65cb82ac38a17513c2",
"name" : "Join our Subreddit",
"challengeType" : "7"
},
{
"id" : "560adf65cb82ac38a17513c2",
"name" : "Read Coding News on our Medium Publication",
"challengeType" : "7"
},
{
"id" : "560ade65cb82ac38a17513c2",
"name" : "Watch us Code Live on Twitchtv",
"challengeType" : "7"
},
{
"id" : "560add8ccb81ac38a17513c4",
"name" : "Commit to a Goal and a Nonprofit",
"challengeType" : "7"
},
{
"id" : "bd7123c8c441eddfaeb5bdef",
"name" : "Say Hello to HTML Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf0887a",
"name" : "Headline with the h2 Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08801",
"name" : "Inform with the Paragraph Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08804",
"name" : "Comment out HTML",
"challengeType" : "0"
},
{
"id" : "bad87fed1348bd9aedf08833",
"name" : "Delete HTML Elements",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08803",
"name" : "Change the Color of Text",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08802",
"name" : "Uncomment HTML",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08833",
"name" : "Fill in the Blank with Placeholder Text",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08805",
"name" : "Use CSS Selectors to Style Elements",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aecf08806",
"name" : "Use a CSS Class to Style an Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aefe08806",
"name" : "Style Multiple Elements with a CSS Class",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08806",
"name" : "Change the Font Size of an Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aede08807",
"name" : "Set the Font Family of an Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08807",
"name" : "Import a Google Font",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08808",
"name" : "Specify How Fonts Should Degrade",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08812",
"name" : "Add Images to your Website",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9acdf08812",
"name" : "Size your Images",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9bedf08813",
"name" : "Add Borders Around your Elements",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08814",
"name" : "Add Rounded Corners with a Border Radius",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08815",
"name" : "Make Circular Images with a Border Radius",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08816",
"name" : "Link to External Pages with Anchor Elements",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aede08817",
"name" : "Nest an Anchor Element within a Paragraph",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08817",
"name" : "Make Dead Links using the Hash Symbol",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08820",
"name" : "Turn an Image into a Link",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08818",
"name" : "Add Alt Text to an Image for Accessibility",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08827",
"name" : "Create a Bulleted Unordered List",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08828",
"name" : "Create an Ordered List",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08829",
"name" : "Create a Text Field",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08830",
"name" : "Add Placeholder Text to a Text Field",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aede08830",
"name" : "Create a Form Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedd08830",
"name" : "Add a Submit Button to a Form",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedc08830",
"name" : "Use HTML5 to Require a Field",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08834",
"name" : "Create a Set of Radio Buttons",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08835",
"name" : "Create a Set of Checkboxes",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedd08835",
"name" : "Check Radio Buttons and Checkboxes by Default",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aede08835",
"name" : "Nest Many Elements within a Single Div Element",
"challengeType" : "0"
},
{
"id" : "bad87fed1348bd9aede07836",
"name" : "Give a Background Color to a Div Element",
"challengeType" : "0"
},
{
"id" : "bad87eee1348bd9aede07836",
"name" : "Set the ID of an Element",
"challengeType" : "0"
},
{
"id" : "bad87dee1348bd9aede07836",
"name" : "Use an ID Attribute to Style an Element",
"challengeType" : "0"
},
{
"id" : "bad88fee1348bd9aedf08825",
"name" : "Adjusting the Padding of an Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08822",
"name" : "Adjust the Margin of an Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08823",
"name" : "Add a Negative Margin to an Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08824",
"name" : "Add Different Padding to Each Side of an Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1248bd9aedf08824",
"name" : "Add Different Margins to Each Side of an Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08826",
"name" : "Use Clockwise Notation to Specify the Padding of an Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9afdf08726",
"name" : "Use Clockwise Notation to Specify the Margin of an Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08736",
"name" : "Style the HTML Body Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08746",
"name" : "Inherit Styles from the Body Element",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08756",
"name" : "Prioritize One Style Over Another",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf04756",
"name" : "Override Styles in Subsequent CSS",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd8aedf06756",
"name" : "Override Class Declarations by Styling ID Attributes",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf06756",
"name" : "Override Class Declarations with Inline Styles",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf07756",
"name" : "Override All Other Styles by using Important",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08726",
"name" : "Use Hex Code for Specific Colors",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08725",
"name" : "Use Hex Code to Color Elements White",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08724",
"name" : "Use Hex Code to Color Elements Red",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08723",
"name" : "Use Hex Code to Color Elements Green",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08722",
"name" : "Use Hex Code to Color Elements Blue",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08721",
"name" : "Use Hex Code to Mix Colors",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aede08720",
"name" : "Use Hex Code to Color Elements Gray",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08720",
"name" : "Use Hex Code for Specific Shades of Gray",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedf08719",
"name" : "Use Abbreviated Hex Code",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aede08718",
"name" : "Use RGB values to Color Elements",
"challengeType" : "0"
},
{
"id" : "bad88fee1348bd9aedf08726",
"name" : "Use RGB to Color Elements White",
"challengeType" : "0"
},
{
"id" : "bad89fee1348bd9aedf08724",
"name" : "Use RGB to Color Elements Red",
"challengeType" : "0"
},
{
"id" : "bad80fee1348bd9aedf08723",
"name" : "Use RGB to Color Elements Green",
"challengeType" : "0"
},
{
"id" : "bad81fee1348bd9aedf08722",
"name" : "Use RGB to Color Elements Blue",
"challengeType" : "0"
},
{
"id" : "bad82fee1348bd9aedf08721",
"name" : "Use RGB to Mix Colors",
"challengeType" : "0"
},
{
"id" : "a3566b1109230028080c9345",
"name" : "Sum All Numbers in a Range",
"challengeType" : "5"
},
{
"id" : "a5de63ebea8dbee56860f4f2",
"name" : "Diff Two Arrays",
"challengeType" : "5"
},
{
"id" : "a7f4d8f2483413a6ce226cac",
"name" : "Roman Numeral Converter",
"challengeType" : "5"
},
{
"id" : "a8e512fbe388ac2f9198f0fa",
"name" : "Where art thou",
"challengeType" : "5"
},
{
"id" : "a0b5010f579e69b815e7c5d6",
"name" : "Search and Replace",
"challengeType" : "5"
},
{
"id" : "aa7697ea2477d1316795783b",
"name" : "Pig Latin",
"challengeType" : "5"
},
{
"id" : "afd15382cdfb22c9efe8b7de",
"name" : "DNA Pairing",
"challengeType" : "5"
},
{
"id" : "af7588ade1100bde429baf20",
"name" : "Missing letters",
"challengeType" : "5"
},
{
"id" : "a77dbc43c33f39daa4429b4f",
"name" : "Boo who",
"challengeType" : "5"
},
{
"id" : "a105e963526e7de52b219be9",
"name" : "Sorted Union",
"challengeType" : "5"
},
{
"id" : "a6b0bb188d873cb2c8729495",
"name" : "Convert HTML Entities",
"challengeType" : "5"
},
{
"id" : "a103376db3ba46b2d50db289",
"name" : "Spinal Tap Case",
"challengeType" : "5"
},
{
"id" : "a5229172f011153519423690",
"name" : "Sum All Odd Fibonacci Numbers",
"challengeType" : "5"
},
{
"id" : "a3bfc1673c0526e06d3ac698",
"name" : "Sum All Primes",
"challengeType" : "5"
},
{
"id" : "ae9defd7acaf69703ab432ea",
"name" : "Smallest Common Multiple",
"challengeType" : "5"
},
{
"id" : "a6e40f1041b06c996f7b2406",
"name" : "Finders Keepers",
"challengeType" : "5"
},
{
"id" : "a5deed1811a43193f9f1c841",
"name" : "Drop it",
"challengeType" : "5"
},
{
"id" : "ab306dbdcc907c7ddfc30830",
"name" : "Steamroller",
"challengeType" : "5"
},
{
"id" : "a8d97bd4c764e91f9d2bda01",
"name" : "Binary Agents",
"challengeType" : "5"
},
{
"id" : "a10d2431ad0c6a099a4b8b52",
"name" : "Everything Be True",
"challengeType" : "5"
},
{
"id" : "a97fd23d9b809dac9921074f",
"name" : "Arguments Optional",
"challengeType" : "5"
},
{
"id" : "bd7158d8c442eddfaeb5bd13",
"name" : "Build a Random Quote Machine",
"challengeType" : "3"
},
{
"id" : "bd7158d8c442eddfaeb5bd10",
"name" : "Show the Local Weather",
"challengeType" : "3"
},
{
"id" : "bd7158d8c442eddfaeb5bd19",
"name" : "Build a Wikipedia Viewer",
"challengeType" : "3"
},
{
"id" : "bd7158d8c442eddfaeb5bd1f",
"name" : "Use the Twitchtv JSON API",
"challengeType" : "3"
},
{
"id" : "bad87fee1348bd9acdd08826",
"name" : "Learn how Script Tags and Document Ready Work",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9bedc08826",
"name" : "Target HTML Elements with Selectors Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aedc08826",
"name" : "Target Elements by Class Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aeda08826",
"name" : "Target Elements by ID Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aeda08726",
"name" : "Delete your jQuery Functions",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed908626",
"name" : "Target the same element with multiple jQuery Selectors",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed918626",
"name" : "Remove Classes from an element with jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed908826",
"name" : "Change the CSS of an Element Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed808826",
"name" : "Disable an Element Using jQuery",
"challengeType" : "0"
},
{
"id" : "564944c91be2204b269d51e3",
"name" : "Change Text Inside an Element Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed708826",
"name" : "Remove an Element Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed608826",
"name" : "Use appendTo to Move Elements with jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed508826",
"name" : "Clone an Element Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed308826",
"name" : "Target the Parent of an Element Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed208826",
"name" : "Target the Children of an Element Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed108826",
"name" : "Target a Specific Child of an Element Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aed008826",
"name" : "Target Even Numbered Elements Using jQuery",
"challengeType" : "0"
},
{
"id" : "bad87fee1348bd9aecb08826",
"name" : "Use jQuery to Modify the Entire Page",
"challengeType" : "0"
},
{
"id" : "56bbb991ad1ed5201cd392d4",
"name" : "Trigger Click Events with jQuery",
"challengeType" : "0"
},
{
"id" : "56bbb991ad1ed5201cd392d5",
"name" : "Change Text with Click Events",
"challengeType" : "0"
},
{
"id" : "56bbb991ad1ed5201cd392d6",
"name" : "Get JSON with the jQuery getJSON Method",
"challengeType" : "0"
},
{
"id" : "56bbb991ad1ed5201cd392d7",
"name" : "Convert JSON Data to HTML",
"challengeType" : "0"
},
{
"id" : "56bbb991ad1ed5201cd392d8",
"name" : "Render Images from Data Sources",
"challengeType" : "0"
},
{
"id" : "56bbb991ad1ed5201cd392d9",
"name" : "Prefilter JSON",
"challengeType" : "0"
},
{
"id" : "56bbb991ad1ed5201cd392da",
"name" : "Get Geolocation Data",
"challengeType" : "0"
},
{
"id" : "cf1111c1c15feddfaeb1bdef",
"name" : "Declare JavaScript Objects as Variables",
"challengeType" : "1"
},
{
"id" : "cf1111c1c15feddfaeb2bdef",
"name" : "Construct JavaScript Objects with Functions",
"challengeType" : "1"
},
{
"id" : "cf1111c1c15feddfaeb4bdef",
"name" : "Make Instances of Objects with a Constructor Function",
"challengeType" : "1"
},
{
"id" : "563cfb55594311ffcb333c70",
"name" : "Make Unique Objects by Passing Parameters to our Constructor",
"challengeType" : "1"
},
{
"id" : "cf1111c1c15feddfaeb3bdef",
"name" : "Make Object Properties Private",
"challengeType" : "1"
},
{
"id" : "cf1111c1c15feddfaeb7bdef",
"name" : "Iterate over Arrays with map",
"challengeType" : "1"
},
{
"id" : "cf1111c1c15feddfaeb8bdef",
"name" : "Condense arrays with reduce",
"challengeType" : "1"
},
{
"id" : "cf1111c1c15feddfaeb9bdef",
"name" : "Filter Arrays with filter",
"challengeType" : "1"
},
{
"id" : "cf1111c1c16feddfaeb1bdef",
"name" : "Sort Arrays with sort",
"challengeType" : "1"
},
{
"id" : "cf1111c1c16feddfaeb2bdef",
"name" : "Reverse Arrays with reverse",
"challengeType" : "1"
},
{
"id" : "cf1111c1c16feddfaeb3bdef",
"name" : "Concatenate Arrays with concat",
"challengeType" : "1"
},
{
"id" : "cf1111c1c16feddfaeb4bdef",
"name" : "Split Strings with split",
"challengeType" : "1"
},
{
"id" : "cf1111c1c16feddfaeb5bdef",
"name" : "Join Strings with join",
"challengeType" : "1"
},
{
"id" : "bd7158d8c423ede2aab5bdee",
"name" : "Learn D3 Challenges",
"challengeType" : "3"
},
{
"id" : "561add10cb82ac38a17513b3",
"name" : "Claim Your Data Visualization Certificate",
"challengeType" : "7"
},
{
"id" : "bd7168d8c242eddfaeb5bd13",
"name" : "Visualize Data with a Bar Chart",
"challengeType" : "3"
},
{
"id" : "bd7178d8c242eddfaeb5bd13",
"name" : "Visualize Data with a Scatterplot Graph",
"challengeType" : "3"
},
{
"id" : "bd7188d8c242eddfaeb5bd13",
"name" : "Visualize Data with a Heat Map",
"challengeType" : "3"
},
{
"id" : "bd7198d8c242eddfaeb5bd13",
"name" : "Show Relationships with a Force Directed Graph",
"challengeType" : "3"
},
{
"id" : "bd7108d8c242eddfaeb5bd13",
"name" : "Map Data Across the Globe",
"challengeType" : "3"
},
{
"id" : "bd7157d8c242eddfaeb5bd13",
"name" : "Build a Markdown Previewer",
"challengeType" : "3"
},
{
"id" : "bd7156d8c242eddfaeb5bd13",
"name" : "Build a Camper Leaderboard",
"challengeType" : "3"
},
{
"id" : "bd7155d8c242eddfaeb5bd13",
"name" : "Build a Recipe Box",
"challengeType" : "3"
},
{
"id" : "bd7154d8c242eddfaeb5bd13",
"name" : "Build the Game of Life",
"challengeType" : "3"
},
{
"id" : "bd7153d8c242eddfaeb5bd13",
"name" : "Build a Roguelike Dungeon Crawler Game",
"challengeType" : "3"
},
{
"id" : "bd7158d8c423ede3aeb5bdee",
"name" : "Learn React Challenges",
"challengeType" : "3"
},
{
"id" : "bd7158d8c423ede2aeb5bdee",
"name" : "Learn Sass Challenges",
"challengeType" : "3"
},
{
"id" : "bd7158d8c443eddfaeb5bcef",
"name" : "Get Set for our Back End Development Projects",
"challengeType" : "7"
},
{
"id" : "bd7158d8c443edefaeb5bdef",
"name" : "Timestamp Microservice",
"challengeType" : "4"
},
{
"id" : "bd7158d8c443edefaeb5bdff",
"name" : "Request Header Parser Microservice",
"challengeType" : "4"
},
{
"id" : "bd7158d8c443edefaeb5bd0e",
"name" : "URL Shortener Microservice",
"challengeType" : "4"
},
{
"id" : "bd7158d8c443edefaeb5bdee",
"name" : "Image Search Abstraction Layer",
"challengeType" : "4"
},
{
"id" : "bd7158d8c443edefaeb5bd0f",
"name" : "File Metadata Microservice",
"challengeType" : "4"
},
{
"id" : "cf1111c1c16feddfaeb6bdef",
"name" : "Use the JavaScript Console",
"challengeType" : "1"
},
{
"id" : "cf1111c1c16feddfaeb7bdef",
"name" : "Using typeof",
"challengeType" : "1"
},
{
"id" : "660add10cb82ac38a17513be",
"name" : "Claim Your Back End Development Certificate",
"challengeType" : "7"
},
{
"id" : "bd7158d8c443eddfaeb5bdef",
"name" : "Build a Voting App",
"challengeType" : "4"
},
{
"id" : "bd7158d8c443eddfaeb5bdff",
"name" : "Build a Nightlife Coordination App",
"challengeType" : "4"
},
{
"id" : "bd7158d8c443eddfaeb5bd0e",
"name" : "Chart the Stock Market",
"challengeType" : "4"
},
{
"id" : "bd7158d8c443eddfaeb5bd0f",
"name" : "Manage a Book Trading Club",
"challengeType" : "4"
},
{
"id" : "bd7158d8c443eddfaeb5bdee",
"name" : "Build a Pinterest Clone",
"challengeType" : "4"
},
{
"id" : "bd7353d8c341eddeaeb5bd0f",
"name" : "Save your Code Revisions Forever with Git",
"challengeType" : "2"
},
{
"id" : "bd7243d8c341eddeaeb5bd0f",
"name" : "Store Data in MongoDB",
"challengeType" : "2"
},
{
"id" : "bd7153d8c441eddfaeb5bd0f",
"name" : "Manage Packages with NPM",
"challengeType" : "2"
},
{
"id" : "bd7153d8c441eddfaeb5bdff",
"name" : "Start a Nodejs Server",
"challengeType" : "2"
},
{
"id" : "bd7153d8c441eddfaeb5bdfe",
"name" : "Continue working with Nodejs Servers",
"challengeType" : "2"
},
{
"id" : "bd7153d8c441eddfaeb5bdfd",
"name" : "Finish working with Nodejs Servers",
"challengeType" : "2"
},
{
"id" : "bd7153d8c441eddfaeb5bd1f",
"name" : "Build Web Apps with Expressjs",
"challengeType" : "2"
},
{
"id" : "56b15f15632298c12f31517b",
"name" : "Big O Notation What It Is and Why You Should Care",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31517a",
"name" : "Big O Notation A Few Examples",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f315184",
"name" : "Chrome Dev Tools Elements",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f315183",
"name" : "Chrome Dev Tools Network",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f315182",
"name" : "Chrome Dev Tools Sources",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f315181",
"name" : "Chrome Dev Tools Timeline",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f315180",
"name" : "Chrome Dev Tools Profiles",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31517f",
"name" : "Chrome Dev Tools Resources",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31517e",
"name" : "Chrome Dev Tools Audits",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31517d",
"name" : "Chrome Dev Tools Console",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31517c",
"name" : "Chrome Dev Tools Summary",
"challengeType" : "6"
},
{
"id" : "bd7128d8c441eddfbeb5bddf",
"name" : "Computer Basics The 4 Basic Parts of a Computer",
"challengeType" : "6"
},
{
"id" : "bd7127d8c441eddfbeb5bddf",
"name" : "Computer Basics More Computer Hardware",
"challengeType" : "6"
},
{
"id" : "bd7129d8a441eddfbeb5bddf",
"name" : "Computer Basics Chips and Moores Law",
"challengeType" : "6"
},
{
"id" : "bd7126d8c441eddfbeb5bddf",
"name" : "Computer Basics Intro to Binary Code",
"challengeType" : "6"
},
{
"id" : "bd7125d8c441eddfbeb5bddf",
"name" : "Computer Basics Decoding a Binary Number",
"challengeType" : "6"
},
{
"id" : "bd7124d8c441eddfbeb5bddf",
"name" : "Computer Basics How To Measure Data Size",
"challengeType" : "6"
},
{
"id" : "bd7123d8c441eddfbeb5bddf",
"name" : "Computer Basics Measuring Data Speed",
"challengeType" : "6"
},
{
"id" : "bd7122d8c441eddfbeb5bddf",
"name" : "Computer Basics Binary Bytes",
"challengeType" : "6"
},
{
"id" : "bd7121d8c441eddfbeb5bddf",
"name" : "Computer Basics Types of Computers",
"challengeType" : "6"
},
{
"id" : "bd7120d8c441eddfbeb5bddf",
"name" : "Computer Basics More on the Motherboard",
"challengeType" : "6"
},
{
"id" : "bd712fd8c441eddfbeb5bddf",
"name" : "Computer Basics Data Networks",
"challengeType" : "6"
},
{
"id" : "bd712ed8c441eddfbeb5bddf",
"name" : "Computer Basics IP Addresses",
"challengeType" : "6"
},
{
"id" : "bd712dd8c441eddfbeb5bddf",
"name" : "Computer Basics How the Internet Works",
"challengeType" : "6"
},
{
"id" : "bd712cd8c441eddfbeb5bddf",
"name" : "Computer Basics Software",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31510f",
"name" : "Computer Basics Content Delivery Networks",
"challengeType" : "6"
},
{
"id" : "bd7129d80441eddfbeb5bddf",
"name" : "Analog vs Digital and File Compression",
"challengeType" : "6"
},
{
"id" : "bd7129d8b441eddfbeb5bddf",
"name" : "Routers and Packets",
"challengeType" : "6"
},
{
"id" : "bd7029d8c441eddfbeb5bddf",
"name" : "Source Code",
"challengeType" : "6"
},
{
"id" : "bd7119d8c441eddfbeb5bddf",
"name" : "Variables In Code",
"challengeType" : "6"
},
{
"id" : "bd712bd8c441eddfbeb5bddf",
"name" : "What Do Programmers Do",
"challengeType" : "6"
},
{
"id" : "bd712ad8c441eddfbeb5bddf",
"name" : "Console and Logging",
"challengeType" : "6"
},
{
"id" : "bd7129d89441eddfbeb5bddf",
"name" : "Computer Security",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31518f",
"name" : "The DOM Whats the Document Object Model",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31518e",
"name" : "The DOM Style in the Header Script in the Footer",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31518c",
"name" : "JavaScript Lingo MDN and Documentation",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31518d",
"name" : "JavaScript Lingo Value Types",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31518b",
"name" : "JavaScript Lingo Variables camelCase",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f31518a",
"name" : "JavaScript Lingo Arrays Objects",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f315189",
"name" : "JavaScript Lingo Finding and Indexing Data in Arrays",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f315188",
"name" : "JavaScript Lingo Manipulating Data",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f315187",
"name" : "JavaScript Lingo Math",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f315186",
"name" : "JavaScript Lingo Loops",
"challengeType" : "6"
},
{
"id" : "56b15f15632298c12f315185",
"name" : "JavaScript Lingo Regular Expressions",
"challengeType" : "6"
},
{
"id" : "bd7158d8c242eddfaeb5be13",
"name": "Design a danmu app",
"challengeType" : "3"
}
];
var challengeMap = {};
function lookUp(value, prop){
for(var i=0;i<matchArray.length;i++){
if(matchArray[i].name== value){
return matchArray[i][prop] || "fasle";
}
}
return "false";
}
var challengeMap ={};
var tbody = document.getElementsByTagName("tbody");
for(var k =0;k<tbody.length;k++){
var tr = tbody[k].getElementsByTagName("tr");
for(var i =0;i<tr.length;i++){
var td = tr[i].getElementsByTagName("td");
for(var j=0;j<td.length-1;j++){
if(j==0 && td[j].innerText){
var name = td[j].innerText;
console.log(name);
var id = lookUp(name,"id");
var challengeType = lookUp(name,"challengeType");
challengeMap[id] = {};
challengeMap[id].id = id;
challengeMap[id].name = name;
challengeMap[id].challengeType = challengeType;
}
if(j==1 && td[j].innerText){
var completedDate = Date.parse(td[j].innerText);
challengeMap[id].completedDate = completedDate;
}
if(j==2 && td[j].innerText){
var lastUpdated = Date.parse(td[j].innerText);
challengeMap[id].lastUpdated = lastUpdated;
}
if(j==3 && td[j].innerText){
var solution = td[j].getElementsByTagName("a")[0].href;
var existed = solution.indexOf("solution");
if(existed != -1){
solution = solution.slice(existed + 9);
var decodeString = decodeURIComponent(solution.replace(/fccss/,'<script>').replace(/fcces/,'</script>'))
challengeMap[id].solution = decodeString;
}else if(solution.indexOf("challenges") != -1){
}else{
challengeMap[id].solution = solution;
}
}
}
}
}
console.log(Object.keys(challengeMap).length);
console.log(JSON.stringify(challengeMap,null,2));
// var progressTimestamps = [];
// for(var l in challengeMap){
// var emptyObject = {};
// emptyObject.timestamp = challengeMap[l].completedDate;
// emptyObject.completedChallenge = challengeMap[l].id;
// progressTimestamps.push(emptyObject);
// }
// progressTimestamps = JSON.stringify(progressTimestamps,null,2);
// console.log(JSON.stringify(progressTimestamps));
// db.getCollection('user').update({username:"somebody"},{$set:{"progressTimestamps":progressTimestamps,"challengeMap":challengeMap}},false,true)
JavaScript
1
https://gitee.com/yixiaotian/freecodecamp.cn.git
git@gitee.com:yixiaotian/freecodecamp.cn.git
yixiaotian
freecodecamp.cn
freecodecamp.cn
dev

搜索帮助