forked from vsb-vaj/template-lab-2024s-01
-
Notifications
You must be signed in to change notification settings - Fork 0
/
task-array.js
133 lines (106 loc) · 3.99 KB
/
task-array.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// EXERCISE:
// You can write all the code natively (for cycles and such) or you can use some advanced functions which JS arrays provides in case you see them fit
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
// There can be multiple solutions to each task, solve it as you see fit.
// You will work with array `numbers` which will be generated by code (code below) in every task.
// Write these functions:
// This block generates array with random length with values between 1-100
let numbers = [];
const length = Math.ceil(Math.random() * 10) + 5;
for (let i = 0; i < length; i = i + 1) {
numbers.push(Math.ceil(Math.random() * 100));
}
// a) Function which will print to console a whole array
const printArray = (numbers) => {
numbers.forEach((number) => {
console.log(number);
});
};
// b) Function which will print to console the length of array
const printLength = (numbers) => {
console.log(numbers.length);
};
// c) Function which will print to console the first element of array
const printFirstItem = (numbers) => {
if (numbers.length > 0) {
console.log(numbers[0]);
}
};
// d) Function which will print to console the last element
const printLastItem = (numbers) => {
if (numbers.length > 0) {
console.log(numbers[numbers.length - 1]);
}
};
// e) Function which will print to console the largest number (You can check Math functions)
const printLargestItem = (numbers) => {
console.log(Math.max(...numbers));
};
// f) Function which will print to console the smallest number (You can check Math functions)
const printSmallestItem = (numbers) => {
console.log(Math.min(...numbers));
};
// g) Function which will print to console the sum of all numbers in array (You can check reduce function)
const printSum = (numbers) => {
console.log(numbers.reduce((a, b) => a + b, 0));
};
// h) Function which will print to console the difference between the largest and the smallest number (You can check Math functions)
const printSALDifference = (numbers) => {
console.log(Math.max(...numbers) - Math.min(...numbers));
};
// i) Function which will print to console the average of all numbers (You can check reduce function)
const printAverage = (numbers) => {
console.log(numbers.reduce((a, b) => a + b, 0) / numbers.length);
};
// j) Function which will print to console the index of largest number (You can check Math functions)
const printLargestsIndex = (numbers) => {
console.log(numbers.indexOf(Math.max(...numbers)));
};
// k) Function which will print to console the even numbers (not the array of even numbers),
// if array doesn't contain any even number, show text "Even number isn't in array"
const printEvenNums = (numbers) => {
let printed = false;
numbers.forEach((number) => {
if (number % 2 === 0) {
console.log(number);
printed = true;
}
});
if (!printed)
console.log("Even number isn't in array");
};
// l) Function which will multiple by 2 every number in array and print the array to console
// Example: printNumsMultipliedBy2([1,2,3]) -> [2,4,6]
const printNumsMultipliedBy2 = (numbers) => {
numbers.forEach((number, index) => {
numbers[index] = number * 2;
console.log(numbers[index]);
});
};
/*
Print implemented stuff
*/
console.log("\nPrint array:");
printArray(numbers);
console.log("\nPrint length:");
printLength(numbers);
console.log("\nPrint first item:");
printFirstItem(numbers);
console.log("\nPrint last item:");
printLastItem(numbers);
console.log("\nPrint largest item:");
printLargestItem(numbers);
console.log("\nPrint smallest item:");
printSmallestItem(numbers);
console.log("\nPrint sum:");
printSum(numbers);
console.log("\nPrint difference between largest and smallest:");
printSALDifference(numbers);
console.log("\nPrint average:");
printAverage(numbers);
console.log("\nPrint index of largest number:");
printLargestsIndex(numbers);
console.log("\nPrint even numbers:");
printEvenNums(numbers);
console.log("\nPrint numbers multiplied by 2:");
printNumsMultipliedBy2(numbers);