forked from bloominstituteoftechnology/Basic-JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject-2.js
More file actions
213 lines (191 loc) · 4.66 KB
/
project-2.js
File metadata and controls
213 lines (191 loc) · 4.66 KB
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
// Do not change any of the function names
const getBiggest = (x, y) => {
// x and y are integers. Return the larger integer
// if they are the same return either one
if (x > y) {
return x;
}
if (x < y) {
return y;
}
return x || y;
};
const greeting = (language) => {
// return a greeting for three different languages:
// language: 'German' -> 'Guten Tag!'
// language: 'Spanish' -> 'Hola!'
// language: 'Chinese' -> 'Ni Hao!'
// if language is undefined return 'Hello!'
// let greeting = ('Guten Tag!');
const greetings = {
German: 'Guten Tag',
Spanish: 'Hola',
Chinese: 'Ni Hao',
};
const translated = greetings[language] ? greetings[language] : 'Hello';
return `${translated}!`;
};
const isTenOrFive = (num) => {
// return true if num is 10 or 5
// otherwise return false
if (num === 10) {
return true;
}
if (num === 5) {
return true;
} else if (num !== 10 || 5) {
return false;
}
};
const isInRange = (num) => {
if (num > 20 && num < 50) {
return true;
} else if (num <= 20 || num >= 50) {
return false;
}
};
const isInteger = (num) => {
if (isNaN(num)) {
return false;
}
const x = parseFloat(num);
if (x > 0 && x < 1) {
return false;
}
return (x || 0) === x;
// return true if num is an integer
// 0.8 -> false
// 1 -> true
// -10 -> true
// otherwise return false
// hint: you can solve this using Math.floor
};
const fizzBuzz = (num) => {
// if num is divisible by 3 return 'fizz'
// if num is divisible by 5 return 'buzz'
// if num is divisible by 3 & 5 return 'fizzbuzz'
// otherwise return num
if (num % 3 === 0 && num % 5 === 0) {
return ('fizzbuzz');
} else if (num % 3 === 0) {
return ('fizz');
} else if (num % 5 === 0) {
return ('buzz');
}
return (num);
};
const isPrime = (num) => {
// return true if num is prime.
// otherwise return false
// hint: a prime number is only evenly divisible by itself and 1
// hint2: you can solve this using a for loop
// note: 0 and 1 are NOT considered prime numbers
if (num === 1) {
return false;
} else if (num === 0) {
return false;
} else if (num === 2) {
return true;
}
for (let x = 2; x < num; x++) {
if (num % x === 0) {
return false;
} return true;
}
};
const returnFirst = (arr) => {
// return the first item from the array
return (arr[0]);
};
const returnLast = (arr) => {
// return the last item of the array
const last = arr.slice(-1)[0];
return last;
};
const getArrayLength = (arr) => {
// return the length of the array
return (arr.length);
};
const incrementByOne = (arr) => {
// arr is an array of integers
// increase each integer by one
// return the array
const addedOne = arr.map((x) => {
return x + 1;
});
return addedOne;
};
const addItemToArray = (arr, item) => {
// add the item to the end of the array
// return the array
arr.push(item);
return arr;
};
const addItemToFront = (arr, item) => {
// add the item to the front of the array
// return the array
// hint: use the array method .unshift
arr.unshift(item);
return arr;
};
const wordsToSentence = (words) => {
// words is an array of strings
// return a string that is all of the words concatenated together
// spaces need to be between each word
return words.join(' ');
};
const contains = (arr, item) => {
// check to see if item is inside of arr
// return true if it is, otherwise return false
for (let i = 0; i < arr.length; i++) {
if (arr[i] === item) {
return true;
}
}
return false;
};
const addNumbers = (numbers) => {
// numbers is an array of integers.
// add all of the integers and return the value
const sum = numbers.reduce((a, b) => a + b, 0);
return sum;
};
const averageTestScore = (testScores) => {
// testScores is an array. Iterate over testScores and compute the average.
// return the average
let sum = 0; for (let i = 0; i < testScores.length; i++) {
sum += parseInt(testScores[i], 10);
}
const AverageTestScore = sum / testScores.length;
return AverageTestScore;
};
const largestNumber = (numbers) => {
// numbers is an array of integers
// return the largest integer
let i = 0;
const n = numbers.length;
let m = -Infinity;
for (; i !== n; ++i) { if (numbers[i] > m) { m = numbers[i]; } } return m;
};
// Do not modify code below this line.
// --------------------------------
module.exports = {
getBiggest,
greeting,
isTenOrFive,
isInRange,
isInteger,
fizzBuzz,
isPrime,
returnFirst,
returnLast,
getArrayLength,
incrementByOne,
addItemToArray,
addItemToFront,
wordsToSentence,
contains,
addNumbers,
averageTestScore,
largestNumber
};