83 lines
2.7 KiB
Markdown
83 lines
2.7 KiB
Markdown
# Pure or not Pure
|
|
|
|
| Aufgabe | Nur ein Rückgabewert | Resultat nur Abhängig von übergebenen Parametern | Verändert keine existierenden Werte | pure oder impure |
|
|
| ------- | -------------------- | ------------------------------------------------ | ----------------------------------- | ---------------- |
|
|
| 1.1 | Ja | Nein | Nein | impure |
|
|
| 1.2 | Ja | Ja | Ja | pure |
|
|
| 1.3 | Ja | ja | Ja | pure |
|
|
| 1.4 | Ja | Nein | Ja | impure |
|
|
| 1.5 | Ja | Ja | Ja | pure |
|
|
| 1.6 | Ja | Ja | Nein | impure |
|
|
|
|
## Aufgabe 1.1
|
|
|
|
```js
|
|
function addToCartItems(items, item) {
|
|
return [...items, item];
|
|
}
|
|
|
|
let cartItems = [];
|
|
cartItems = addToCartItems(cartItems, "Apple");
|
|
console.log(cartItems); // Ausgabe: ['Apple']
|
|
cartItems = addToCartItems(cartItems, "Banana");
|
|
console.log(cartItems); // Ausgabe: ['Apple', 'Banana']
|
|
cartItems = addToCartItems(cartItems, "Orange");
|
|
console.log(cartItems); // Ausgabe: ['Apple', 'Banana', 'Orange']
|
|
```
|
|
|
|
## Aufgabe 1.2
|
|
|
|
```js
|
|
function add(a, b) {
|
|
return a + b;
|
|
}
|
|
|
|
console.log(add(5, 3)); // Ausgabe: 8
|
|
console.log(add(2, 4)); // Ausgabe: 6
|
|
```
|
|
|
|
## Aufgabe 1.3
|
|
|
|
```js
|
|
function firstCharacter(str) {
|
|
return str.charAt(0);
|
|
}
|
|
|
|
console.log(firstCharacter("Hello")); // Ausgabe: H
|
|
console.log(firstCharacter("JavaScript")); // Ausgabe: J
|
|
```
|
|
|
|
## Aufgabe 1.4
|
|
|
|
```js
|
|
// Methode, um eine Zahl mit einem zufälligen Wert zu multiplizieren
|
|
function multiplyWithRandom(number, randomValue) {
|
|
return number * randomValue;
|
|
}
|
|
|
|
console.log(multiplyWithRandom(5, Math.random())); // Ausgabe: Eine zufällige Zahl zwischen 0 und 5
|
|
console.log(multiplyWithRandom(10, Math.random())); // Ausgabe: Eine zufällige Zahl zwischen 0 und 10
|
|
```
|
|
|
|
## Aufgabe 1.5
|
|
|
|
```js
|
|
// Funktion zum Teilen einer Zahl durch eine andere
|
|
function divideNumbers(dividend, divisor) {
|
|
return dividend / divisor;
|
|
}
|
|
|
|
console.log(divideNumbers(10, 2)); // Ausgabe: 5
|
|
console.log(divideNumbers(8, 4)); // Ausgabe: 2
|
|
```
|
|
|
|
## Aufgabe 1.6
|
|
|
|
```js
|
|
// Methode zum Ausgeben und Rückgeben einer Zeichenkette
|
|
function printAndReturnString(str) {
|
|
return str; // Rückgabe der Zeichenkette
|
|
}
|
|
|
|
console.log(printAndReturnString("Hello")); // Ausgabe: Hello
|
|
```
|