forked from ironhackbcn/lab-javascript-basic-algorithms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbasic-algorithms.js
More file actions
68 lines (52 loc) · 4.2 KB
/
basic-algorithms.js
File metadata and controls
68 lines (52 loc) · 4.2 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
// Names and Input
var hacker1 = "Piero";
console.log("The driver's name is " + hacker1);
var hacker2 = prompt("What's the navigator's name?");
console.log("The navigator's name is " + hacker2);
//Conditionals
if (hacker1.length > hacker2.length) { // Comparing lengths
console.log("The Driver has the longest name, it has " + hacker1.length + " characters");
} else if (hacker1.length < hacker2.length){
console.log("Yo, navigator got the longest name, it has " + hacker2.length + " characters");
} else if (hacker1.length === hacker2.length){
console.log("wow, you both got equally long names, " + hacker1.length + " characters");
};
for (var i = 0; i <= hacker1.length-1; i++){ // Transforming hacker1 to Upper Case and breaking by characters
console.log(hacker1[i].toUpperCase());
}
for (var i = hacker2.length-1; i >= 0 ; i--){ // Reverse breaking by characters, the iteration i = var.length and the condition i = 0 with reverse counting
console.log(hacker2[i]);
}
var lexicheck = hacker1.toLowerCase().localeCompare(hacker2.toLowerCase()); // Lexicographic comparission of the 2 vars lowercased, otherwise Piero ≠ piero
switch (lexicheck) { // Case for the 3 possible values of .localeCompare()
case -1:
console.log("The driver's name goes first");
break;
case 0:
console.log("What?! You both got the same name?");
break;
case 1:
console.log("Yo, the navigator goes first definitely");
break;
};
// Palindrome checker
var palindrome = prompt("Is this a Palindrome?");
console.log("Checking if " + palindrome + " is a Palindrome...");
var splitted = palindrome.toLowerCase().split('') // Lowercase the string and splits it into an array of characters
console.log("First let's split " + palindrome + " into characters:" + splitted);
var reversed = splitted.reverse(); // Reversing string
console.log("Now let's reverse the characters: " + reversed);
val1 = splitted.toString();
val2 = reversed.toString();
if (Array.from(splitted).toString() === Array.from(splitted).reverse().toString()) { // Checks if both arrays are the same
console.log("Yay! You found a Palindrome! :D")
} else {
console.log("Nope! It's not a Palindrome :(")
};
// Lorem ipsum generator
var p1 = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc quis pretium dui. Nulla facilisi. Vivamus faucibus mollis eros, ut egestas velit. Nulla ut nunc ex. Pellentesque varius pellentesque nunc ac iaculis. Sed ornare est a tortor viverra feugiat. Nulla facilisi. Maecenas eu purus nec ex dignissim vestibulum. Fusce nec eleifend quam. Aenean bibendum sapien at justo fringilla accumsan. Mauris lacinia augue vel orci congue vestibulum. Vivamus sed elementum sem. Ut varius neque vel erat finibus ullamcorper. Ut ultrices sollicitudin eros in sagittis.";
var p2 = "Sed ullamcorper, diam in lacinia vehicula, ligula massa rutrum tellus, quis elementum velit diam a elit. Etiam vel arcu at risus cursus dictum. Quisque pulvinar cursus dui molestie maximus. Aenean mattis venenatis lacus. Duis metus est, euismod nec orci ornare, cursus lacinia mauris. Praesent lacinia eleifend nisi sed euismod. Donec feugiat mollis eros, facilisis placerat diam sagittis vitae. Mauris et luctus mauris. Ut et mi quis justo laoreet vestibulum. Etiam tincidunt mauris sit amet suscipit vestibulum. Donec mauris nibh, placerat dapibus dapibus sed, pretium nec purus.";
var p3 = "Donec vel tortor urna. Praesent arcu arcu, egestas ut urna eget, consequat venenatis erat. Donec pharetra nisi ligula, non mollis tellus tempus vitae. Vestibulum ac magna vitae justo ullamcorper rhoncus. Curabitur fermentum, lectus ut auctor tincidunt, nisl purus scelerisque mi, pretium pulvinar sem quam in mauris. Ut ac tortor felis. Aenean tellus velit, varius non aliquam vitae, maximus quis urna. Pellentesque nulla lacus, condimentum lobortis orci quis, semper semper felis. Donec at elit ac est tempor porttitor. Curabitur blandit mauris sit amet ornare varius. Nulla fermentum tincidunt nunc. Aenean cursus ut nunc dictum maximus. Donec at malesuada libero. Sed hendrerit auctor massa vel pulvinar.";
console.log("Paragraph 1 has " + p1.length + " characters.");
console.log("Paragraph 2 has " + p2.length + " characters.");
console.log("Paragraph 3 has " + p3.length + " characters.");