{
    "componentChunkName": "component---src-templates-docs-js",
    "path": "/veckoanvisningar/kursvecka-05/utmaningar",
    "result": {"data":{"site":{"siteMetadata":{"title":"Linnéuniversitetet","language":"sv","courseCode":"1dv025"}},"mdx":{"fields":{"id":"0e310197-0964-5f7f-96ed-4125de31d8fb","title":"Utmaningar","slug":"/veckoanvisningar/kursvecka-05/utmaningar"},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Utmaningar\",\n  \"metaTitle\": \"1DV025 | Utmaningar kursvecka 5\",\n  \"metaDescription\": \"metaDescription\",\n  \"order\": 5\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Nedan finns ett antal program, f\\xF6rs\\xF6k l\\xE4sa koden och se vad som kommer att skrivas ut.\"), mdx(\"p\", null, \"Du kan f\\xE5 tips om du klickar upp stycket med \\\"Alternativ\\\", d\\xE5 f\\xE5r du ett antal alternativ att v\\xE4lja p\\xE5, s\\xE5 blir det lite l\\xE4ttare.\"), mdx(\"p\", null, \"Om du inte lyckas s\\xE5 kan du alltid prova koden och k\\xF6ra den p\\xE5 egen hand f\\xF6r att se vad som h\\xE4nder, eller ta upp fr\\xE5gan p\\xE5 en handledning.\"), mdx(\"h2\", null, \"Fr\\xE5ga 05-01: Vad skrivs ut?\"), mdx(\"p\", null, \"F\\xF6rs\\xF6k l\\xE4sa koden, f\\xF6lj vad som sker och f\\xF6rs\\xF6k se vad som skrivs ut. Klicka p\\xE5 \\\"Alternativ\\\" nedan s\\xE5 f\\xE5r du ett par alternativ och ett av dem \\xE4r r\\xE4tt.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const run = function (first, last) {\\n    return {\\n      firstName: first,\\n      lastName: last\\n    }\\n  }\\n\\nlet result = run('Ellen', 'Nu')\\nconsole.log(result.last)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"[object Object]\", \";\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Ellen Nu\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Nu\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"Typiskt slarvfel. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"result.lastName\"), \" \\xE4r det nog som avses p\\xE5 sista raden.\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-02: Vad skrivs ut?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const createMovie = (title, length, year) => {\\n  return {\\n    title,\\n    length,\\n    year\\n  }\\n}\\n\\nconst movies = []\\nmovies.push(createMovie('Pulp Fiction', '2:34', '1994'))\\nmovies.push(createMovie('The Shawshank Redemption', '2:22', '1994'))\\nmovies.push(createMovie('The Godfather', '2:55', '1972'))\\n\\nconsole.log(movies[1].length)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"3\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"2:34\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"2:22\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"En slamkrypare. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"movies[1].length\"), \" \\xE4r det kluriga. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"movies[1]\"), \" refererar till\\ndet andra objektet i arrayen, och egenskapen \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"length\"), \" p\\xE5 detta objekt ger \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"2:22\"), \".\"), mdx(\"p\", null, \"Fundera p\\xE5 vad som h\\xE4nder om du skriver \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"movies[1].length.length\"), \"? Eller \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"movies.length\"), \"?\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-03: Vad skrivs ut?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const objPrototype = {\\n  prop: 10,\\n  toString () {\\n    return `I have ${this.prop} somethings!`\\n  }\\n}\\n\\nconst createObject = function (quantity = 0) {\\n  const obj = Object.create(objPrototype)\\n  obj.prop = quantity\\n  return obj\\n}\\n\\nconst obj = createObject(12)\\n\\nconsole.log(obj.toString())\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"I have 12 somethings!\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"I have 10 somethings!\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"I have 0 somethings!\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"objPrototype\"), \" \\xE4r h\\xE4r v\\xE5r prototyp utifr\\xE5n vilken v\\xE5ra objekt skapas.\\n\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"obj.prop\"), \" kommer att skapa en egenskap \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"prop\"), \" som \\xF6verskuggar prototypens\\negenskap med samma namn. Vad h\\xE4nder om vi kommenterar ut raden \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"obj.prop = quantity\"), \"?\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-04: \\xC4r funktionen \\\"run\\\" en funktion utan sidoeffekter? (Pure function)\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const run = function (obj) {\\n  obj.quantity += 10\\n}\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Ja\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Nej\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Det beror p\\xE5\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Kanske\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"  Nej, funktionen har sidoeffekter d\\xE5 den p\\xE5verkar det objekt vars referens\\nskickas som ett argument till funktionen.\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-05: Vad skrivs ut?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const myObj = {\\n  quantity: 12,\\n  name: 'Part1'\\n}\\n\\nconst run = function (obj) {\\n  obj.quantity += 10\\n}\\n\\nrun(myObj)\\n\\nconsole.log(myObj.quantity)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"12\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"10\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"22\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"  H\\xE4r ser vi effekten av att funktionen \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"run\"), \" har sidoeffekter. Objektet \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"myObj\"), \"\\nrefererar till, via \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"obj\"), \", p\\xE5verkas.\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-06: Vad skrivs ut?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"let quantity = 12\\n\\nconst run = function (q) {\\n  q += 10\\n}\\n\\nrun(quantity)\\n\\nconsole.log(quantity)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"12\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"undefined\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"10\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"22\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"D\\xE5 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"quantity\"), \" i detta fall \\xE4r en v\\xE4rdetyp, s\\xE5 kopieras dess inneh\\xE5ll till\\nparametern \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"q\"), \" n\\xE4r \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"quantity\"), \" skickas som argument. Kopian \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"q\"), \" \\xE4ndras och\\nf\\xF6rst\\xF6rs n\\xE4r funktionen \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"run\"), \" returnerar. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"run\"), \" \\xE4r i detta fall en funktion\\nutan sidoeffekter.\")), mdx(\"h2\", null, \"Fr\\xE5ga 05-07: Vad returnerar funktionen?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const run = function () {\\n  const objects = [\\n    {name: 'Ellen', points: 13},\\n    {name: 'Sture', points: 3},\\n    {name: 'Maja', points: 39}\\n  ]\\n\\n  return objects.filter(function (current) {\\n    return current.points < 10\\n  })\\n}\\n\\nlet result = run()\\nconsole.log(result)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"[\\\"Ellen\\\", \\\"Sture\\\", \\\"Maja\\\"]\", \";\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"[{name: \\\"Ellen\\\", points: 13}, {name: \\\"Sture\\\", points: 3}, {name: \\\"Maja\\\", points: 39}]\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"{ name: 'Sture', points: 3 }\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"[ { name: 'Sture', points: 3 } ]\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"Iteratorfunktioner s\\xE5 som \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"filter\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"map\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"reduce\"), \", etc. \\xE4r mycket\\nkraftfulla. Dessutom l\\xE4mpar de sig v\\xE4l att kombinera med \\\"arrow\\\"-funktioner:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const run = function () {\\n  const objects = [\\n    {name: 'Ellen', points: 13},\\n    {name: 'Sture', points: 3},\\n    {name: 'Maja', points: 39}\\n  ]\\n\\n  return objects.filter( (current) => current.points < 10 )\\n}\\n\\nlet result = run()\\nconsole.log(result)\\n\"))), mdx(\"h2\", null, \"Fr\\xE5ga 05-08: Hur m\\xE5nga g\\xE5nger kommer funktionen printTeachers() att anropas?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"let teachers = {\\n  name: 'Mats',\\n  next: {\\n    name: 'Johan',\\n    next: {\\n      name: 'Niklas',\\n      prev: {\\n        name: 'Tobias'\\n      }\\n    }\\n  }\\n}\\n\\nfunction printTeachers (current) {\\n  console.log(current.name)\\n\\n  if (current.next !== undefined) {\\n    printTeachers(current.next)\\n  }\\n}\\n\\nprintTeachers(teachers)\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"1\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"3\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"4\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Tills applikationen kraschar (evighetsloop)\"))), mdx(\"h2\", null, \"Fr\\xE5ga 05-09 Vad skrivs ut?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const frequencyTable = {\\n  abyssinian: 12,\\n  bombay: 2,\\n  bengal: 14,\\n  burmese: 2,\\n  'main coon': 4\\n}\\n\\nfor (key of Object.keys(frequencyTable)) {\\n  console.log(frequencyTable[key])\\n}\\n\")), mdx(\"details\", null, mdx(\"summary\", null, \"Alternativ\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"abyssinian, bombay, bengal, burmese, main coon\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"12, 2, 14, 2, 4\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"34\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Applikationen kraschar (evighetsloop)\"))), mdx(\"details\", null, mdx(\"summary\", null, \"Kommentar\"), mdx(\"p\", null, \"H\\xE4r anv\\xE4nds \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Object.keys\"), \" f\\xF6r att f\\xE5 ut objektets samtliga nycklar. Nyckeln\\nanv\\xE4nds sedan f\\xF6r att f\\xE5 ut v\\xE4rdet i objektet. Notationen h\\xE4r liknar den n\\xE4r\\nvi l\\xE4ser fr\\xE5n arrayer. Kan du komma p\\xE5 ett enklare(?) s\\xE4tt att g\\xF6ra samma sak?\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const frequencyTable = {\\n  abyssinian: 12,\\n  bombay: 2,\\n  bengal: 14,\\n  burmese: 2,\\n  'main coon': 4\\n}\\n\\nfor (value of Object.values(frequencyTable)) {\\n  console.log(value)\\n}\\n\")), mdx(\"p\", null, \"Ett annat s\\xE4tt som \\xE4r vanligt att l\\xF6sa ovanst\\xE5ende p\\xE5 \\xE4r att anv\\xE4nda sig av \\\"destructing\\\":\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const frequencyTable = {\\n  abyssinian: 12,\\n  bombay: 2,\\n  bengal: 14,\\n  burmese: 2,\\n  'main coon': 4\\n}\\n\\nfor (const [catType, catQuant] of Object.entries(frequencyTable)) {\\n  console.log(catType, catQuant)\\n}\\n\"))));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#fråga-05-01-vad-skrivs-ut","title":"Fråga 05-01: Vad skrivs ut?"},{"url":"#fråga-05-02-vad-skrivs-ut","title":"Fråga 05-02: Vad skrivs ut?"},{"url":"#fråga-05-03-vad-skrivs-ut","title":"Fråga 05-03: Vad skrivs ut?"},{"url":"#fråga-05-04-är-funktionen-run-en-funktion-utan-sidoeffekter-pure-function","title":"Fråga 05-04: Är funktionen \"run\" en funktion utan sidoeffekter? (Pure function)"},{"url":"#fråga-05-05-vad-skrivs-ut","title":"Fråga 05-05: Vad skrivs ut?"},{"url":"#fråga-05-06-vad-skrivs-ut","title":"Fråga 05-06: Vad skrivs ut?"},{"url":"#fråga-05-07-vad-returnerar-funktionen","title":"Fråga 05-07: Vad returnerar funktionen?"},{"url":"#fråga-05-08-hur-många-gånger-kommer-funktionen-printteachers-att-anropas","title":"Fråga 05-08: Hur många gånger kommer funktionen printTeachers() att anropas?"},{"url":"#fråga-05-09-vad-skrivs-ut","title":"Fråga 05-09 Vad skrivs ut?"}]},"parent":{"relativePath":"veckoanvisningar/kursvecka-05/utmaningar.md"},"frontmatter":{"metaTitle":"1DV025 | Utmaningar kursvecka 5","metaDescription":"metaDescription","fullWidth":null}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/examinationsuppgifter","title":"Examinationsuppgifter"}}},{"node":{"fields":{"slug":"/samlingar","title":"Samlingar"}}},{"node":{"fields":{"slug":"/","title":"Webbprogrammering på klientsidan (1DV025) - en kurs med JavaScript i fokus"}}},{"node":{"fields":{"slug":"/sandbox/basic-elements","title":"Basic elements"}}},{"node":{"fields":{"slug":"/sandbox/code","title":"Code"}}},{"node":{"fields":{"slug":"/sandbox/exercise","title":"Exercises"}}},{"node":{"fields":{"slug":"/sandbox/frontmatter","title":"Frontmatter"}}},{"node":{"fields":{"slug":"/sandbox/hint","title":"Hint"}}},{"node":{"fields":{"slug":"/sandbox","title":"Sandbox"}}},{"node":{"fields":{"slug":"/sandbox/markdown-import","title":"Imported markdown"}}},{"node":{"fields":{"slug":"/sandbox/mermaid","title":"Mermaid"}}},{"node":{"fields":{"slug":"/sandbox/tabs","title":"Tabs"}}},{"node":{"fields":{"slug":"/sandbox/youtube","title":"YouTube"}}},{"node":{"fields":{"slug":"/studieguide/examination","title":"Examination"}}},{"node":{"fields":{"slug":"/studieguide/forvantningar","title":"Förväntningar"}}},{"node":{"fields":{"slug":"/studieguide","title":"Studieguide"}}},{"node":{"fields":{"slug":"/studieguide/kommunikationsstrategi","title":"Kommunikationsstrategi"}}},{"node":{"fields":{"slug":"/studieguide/kursledning","title":"Kursledning"}}},{"node":{"fields":{"slug":"/studieguide/kursvardering","title":"Kursvärdering"}}},{"node":{"fields":{"slug":"/studieguide/larresurser","title":"Lärresurser"}}},{"node":{"fields":{"slug":"/studieguide/registrering","title":"Registrering"}}},{"node":{"fields":{"slug":"/studieguide/valkommen","title":"🎉 Välkommen!"}}},{"node":{"fields":{"slug":"/veckoanvisningar","title":"Veckoanvisningar"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-a/a1","title":"A1 - Online-test"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-a/a2-beskrivande-statistik","title":"A2 - Beskrivande statistik"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-a/a3-tjugoett","title":"A3 - Tjugoett"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-a","title":"Delkurs A"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b/b1","title":"B1 - Online-test"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b/b2","title":"B2 - The Quiz app"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b/b3","title":"B3 - PWD"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/delkurs-b","title":"Delkurs B"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om","title":"Om examination"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/inlamning-via-mr","title":"Inlämning via Merge request"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/kom-igang","title":"Kom igång med en uppgift"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/muntlig-examination","title":"Muntlig examination"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-a/guider","title":"Guider"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-a","title":"Delkurs A"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-a/inspelningar","title":"Stödjande inspelningar"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-a/ovningar","title":"Övningar"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-b/inspelningar","title":"Stödjande inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01","title":"Kursvecka 1 - Satser"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/guide-ovningsuppgifter","title":"Guide - Övningsuppgift"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/guide-vscode","title":"Guide - VSCode"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02","title":"Kursvecka 2 - Funktioner, moduler"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/guide-nodejs","title":"Guide - Node.js"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/examinationsuppgift","title":"Guide - Examinationsuppgift"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/guide-jsdoc","title":"Guide - JSDoc"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03","title":"Kursvecka 3 - Styrstrukturer"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04","title":"Kursvecka 4 - Arrayer"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/guide-jest-spec-name","title":"Guide - Så gör du när du inte vill köra alla tester varje gång"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05","title":"Kursvecka 5 - Objekt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06","title":"Kursvecka 6 - Klasser"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07","title":"Kursvecka 7 - Arv"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08","title":"Kursvecka 8 - Webbläsaren"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09","title":"Kursvecka 9 - HTML-element"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10","title":"Kursvecka 10 - Webbkomponenter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11","title":"Kursvecka 11 - Händelser"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12","title":"Kursvecka 12 - AsyncAwait"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-b","title":"Delkurs B"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13","title":"Kursvecka 13 - Komposition"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14","title":"Kursvecka 14 - Lagring"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/ovningsuppgifter","title":"Övningsuppgifter"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-15","title":"Kursvecka 15 - Installerbara PWAs"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-15/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-15/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-15/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-16","title":"Kursvecka 16 - Pålitliga PWAs"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-16/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-16/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-16/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-17-19","title":"Kursvecka 17-19 - Kapabla PWAs"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-17-19/lasanvisningar","title":"Läsanvisningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-17-19/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-17-19/utmaningar","title":"Utmaningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-20","title":"Kursvecka 20 - Examination"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-20/oversikt","title":"Översikt"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/resurser/kom-igang","title":"Kom Igang"}}},{"node":{"fields":{"slug":"/examinationsuppgifter/om/resurser/mr","title":"Mr"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/00-om-git","title":"Introduction"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-01/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/10-git","title":"Setting Up"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/12-commit-messages","title":"Commits best practice"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/12-multipla-datorer","title":"Multiple computers"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/14-multiple-git-user-configs","title":"Multiple Git User Configs"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/16-ssh-troubleshoot","title":"SSH-keys troubleshooting"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider/20-detta-hander-vid-git-kommandon","title":"Detta händer vid git-kommandon"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/git-guider","title":"Guide - Git versionshantering"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-03/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-02/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-04/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-05/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-06/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-07/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-08/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-09/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-10/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-11/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-13/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-14/resurser/ovningar","title":"Ovningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-15/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-16/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-17-19/resurser/inspelningar","title":"Inspelningar"}}},{"node":{"fields":{"slug":"/samlingar/delkurs-b/ovningar","title":"Övningar"}}},{"node":{"fields":{"slug":"/veckoanvisningar/kursvecka-12/ovningsuppgifter","title":"Övningsuppgifter"}}}]}},"pageContext":{"id":"0e310197-0964-5f7f-96ed-4125de31d8fb"}},
    "staticQueryHashes": ["253607798","3706406642","710574383"]}