# Futtiga funktioner

{% hint style="info" %}
A-nivå, [repo](https://github.com/1dv021/exercise-tiny-funcs.git), [lösningsförslag](https://github.com/1dv021/exercise-solution-proposals/tree/master/part-1/tiny-funcs).
{% endhint %}

{% hint style="danger" %}
**VIKTIGT!** Innan du börjar arbeta med övningsuppgiften är det viktigt att du följer guiden [Att komma igång med en övningsuppgift](/1dv021/guider/att-komma-igang-med-en-ovningsuppgift.md) för att lägga till övningsuppgiftens repo till ditt repo för övningsuppgifter.
{% endhint %}

## Uppgift

Hämta hem övningsuppgiftens repo och lägg till en .gitignore-fil. Öppna filen `src\mf.js` och komplettera de åtta funktionerna enligt specifikationerna. Du behöver inte tänka på att implementera någon form av felhantering.

{% hint style="danger" %}
**OBS!** Filen innehåller funktioner med kod. Koden i funktionerna, bortsett från eventuella kommentarer, får under inga omständigheter ändras.
{% endhint %}

## Funktioner

### add

Komplettera funktionen så att den returnerar summan av de lokala variablerna `a` och `b`. Tänk på att de lokala variablernas värden måste vara av typen Number för att de ska kunna summeras.

### concat

Komplettera funktionen så att du med hjälp av konkatenering av givna lokala variabler skapar och retrunerar strängen `'I'm going to learn how to program in 9 weeks.'`.

### round

Komplettera funktionen så att den avrundade summan av de två lokala variablerna returneras. Summan ska vara avrundad till det närmaste heltalet.

### getOddNumbers

Komplettera funktionen så att den returnerar en sträng med kommaseparerade udda till upp till och med angivet maxvärde.

* Är parameterns värde `3`ska strängen `1, 3` returneras.&#x20;
* Är parameterns värde `10`ska strängen `1, 3, 5, 7, 9` returneras.&#x20;

### greetings

Komplettera funktion så att olika hälsningsmeddelanden returneras beroende av hur mycket klockan är.

* Om klockan är mellan 8 och 12 ska meddelandet vara `'Good morning!'`.
* Om klockan är mellan 12 och 18 ska meddelandet vara `'Good afternoon!'`.
* Om klockan är mellan 18 och 24 ska meddelandet vara `'Good evening!'`.
* Om klockan är mellan 24 och 8 ska meddelandet vara `'Good night!'`.

(Funktionen innehåller redan kod ,`new Date().getHours()`, som ger dagens aktuella timme.)

### replaceHyphensFor

Komplettera funktionen den returnerar en sträng där alla bindestreck ersatts med mellanslag. Använd en `for`-sats för att lösa problemet.

### replaceHyphensWhile

Komplettera funktionen den returnerar en sträng där alla bindestreck ersatts med mellanslag. Använd en `while`-sats för att lösa problemet.

### getNumberSequence

Komplettera funktionen så att den genom att använda två nästlade `for`-satser returnerar en sträng med sekvenserna `'11-12-13, 21-22-23, 31-32-33, 41-42-43, 51-52-53'`.

## Tips

Genom att köra testerna som kommer med övningsuppgiften kan du undersöka om koden du skrivit löst uppgiften (i alla fall enligt testerna...).

Funktioner, metoder, etc. som *kan* komma till användning beroende hur du väljer att lösa uppgiften.

* [Number.parseInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt), [parseInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt)
* [Math.round](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round)
* [for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for)
* [%, restoperator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Remainder)
* [if...else](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else)
* [String.length](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length)
* [String.charAt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt)
* [Number.toString](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://coursepress.gitbook.io/1dv021/ovningsuppgifter/del-1/a-niva/futtiga-funktioner.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
