Skip to content

Commit 41698e4

Browse files
committed
initial upload
1 parent 29b4ecb commit 41698e4

23 files changed

+357
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
function addRemoveElements(input) {
2+
3+
let result = [];
4+
5+
for (let i = 0; i < input.length; i++) {
6+
let args = input[i].split(" ");
7+
let command = args[0];
8+
let valueOrIndex = args[1];
9+
10+
if (command === "add") {
11+
result.push(valueOrIndex);
12+
} else if (command === "remove") {
13+
result.splice(valueOrIndex, 1);
14+
}
15+
}
16+
17+
for (let i = 0; i < result.length; i++) {
18+
console.log(result[i]);
19+
}
20+
}
21+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
function printLastValue(arr) {
2+
let obj = {};
3+
4+
for (let i = 0; i < arr.length - 1; i++) {
5+
let args = arr[i].split(' ');
6+
7+
let key = args[0];
8+
let value = args[1];
9+
10+
if (obj[key]) {
11+
obj[key].push(value);
12+
} else {
13+
obj[key] = [value];
14+
}
15+
}
16+
17+
let searchedKey = arr[arr.length - 1];
18+
19+
console.log(obj[searchedKey] ? obj[searchedKey].join('\n') : "None");
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
function multiplyTwoNums(arr) {
2+
let firstNum = Number(arr[0]);
3+
let secondNum = Number(arr[1]);
4+
5+
if(secondNum >= firstNum) {
6+
let product = firstNum * secondNum;
7+
return product;
8+
}
9+
else {
10+
let quotient = firstNum / secondNum;
11+
return quotient;
12+
}
13+
}
14+
15+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
function multiplyTwoNums(arr) {
2+
let firstNum = Number(arr[0]);
3+
let secondNum = Number(arr[1]);
4+
let product = firstNum * secondNum;
5+
6+
return product;
7+
}
8+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
function multipyBy2(arr) {
2+
let number = Number(arr[0]);
3+
let product = number * 2;
4+
5+
return product;
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
function parseJSONobjs(arr) {
2+
let studentData = arr.map(student => JSON.parse(student));
3+
4+
studentData.forEach(s => {
5+
console.log(`Name: ${s.name}`);
6+
console.log(`Age: ${s.age}`);
7+
console.log(`Date: ${s.date}`)
8+
});
9+
}
10+
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
function printLines(arr) {
2+
for (let i = 0; i < arr.length; i++) {
3+
if (arr[i] === "Stop") {
4+
return;
5+
}
6+
console.log(arr[i]);
7+
}
8+
}
9+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
function printNums(n) {
2+
for (let i = 1; i <= n; i++) {
3+
console.log(i);
4+
}
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
function printNums(n) {
2+
for (let i = n; i >= 1; i--) {
3+
console.log(Number(i));
4+
}
5+
}
6+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
function printNumsInRevOrder(arr) {
2+
for (let i = (arr.length - 1); i >= 0 ; i--) {
3+
console.log(arr[i]);
4+
}
5+
}
6+
7+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
function isProductNegativeOrPositive(arr) {
2+
3+
let counter = 0;
4+
5+
for (let i = 0; i < arr.length; i++) {
6+
let number = Number(arr[i]);
7+
8+
if (number === 0) {
9+
return console.log('Positive');
10+
}
11+
if (number < 0) {
12+
counter++;
13+
}
14+
}
15+
16+
if (counter % 2 === 0) {
17+
return console.log('Positive');
18+
}
19+
else {
20+
return console.log('Negative');
21+
}
22+
}
23+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
function setValuesToIndexes(arr) {
2+
3+
let arrayLength = arr[0];
4+
5+
let result = [];
6+
result.length = arrayLength;
7+
8+
for (let i = 1; i < arr.length; i++) {
9+
let args = arr[i].split(' - ');
10+
let index = args[0];
11+
let value = args[1];
12+
13+
result[index] = value;
14+
}
15+
16+
for (let i = 0; i < result.length; i++) {
17+
if (result[i] === undefined) {
18+
result[i] = 0;
19+
}
20+
console.log(result[i]);
21+
}
22+
}
23+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
function saveStudent(arr) {
2+
let students = [];
3+
4+
for (let i = 0; i < arr.length; i++) {
5+
let args = arr[i].split(" -> ");
6+
let name = args[0];
7+
let age = args[1];
8+
let grade = args[2];
9+
10+
let currentStudent = {
11+
name: name,
12+
age: age,
13+
grade: grade
14+
};
15+
students.push(currentStudent);
16+
}
17+
18+
for (let i = 0; i < students.length; i++) {
19+
20+
console.log(`Name: ${students[i].name}`);
21+
console.log(`Age: ${students[i].age}`);
22+
console.log(`Grade: ${students[i].grade}`);
23+
}
24+
}
25+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
function objsToJSONStings(arr) {
2+
let student = {};
3+
4+
for (let i = 0; i < arr.length; i++) {
5+
let args = arr[i].split(" -> ");
6+
let key = args[0];
7+
let value = args[1];
8+
9+
if (key === "age" || key === "grade") {
10+
value = Number(value);
11+
}
12+
student[key] = value;
13+
}
14+
console.log(JSON.stringify(student));
15+
}
16+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
function printLastValue(arr) {
2+
let obj = {};
3+
4+
for (let i = 0; i < arr.length - 1; i++) {
5+
let args = arr[i].split(' ');
6+
7+
let key = args[0];
8+
let value = args[1];
9+
10+
if (obj[key]) {
11+
obj[key].push(value);
12+
} else {
13+
obj[key] = [value];
14+
}
15+
}
16+
17+
let searchedKey = arr[arr.length - 1];
18+
19+
console.log(obj[searchedKey] ? obj[searchedKey].join('\n') : "None");
20+
}
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
function extractCapitalCaseWords(arr) {
2+
let text = arr.join(' ');
3+
let capitals = text.split(/\W+/).filter(w => w.length > 0).filter(w => w === w.toUpperCase());
4+
5+
console.log(capitals.join(', '));
6+
}
7+
8+
let input = [
9+
'We start by HTML, CSS, JavaScript, JSON and REST.',
10+
'Later we touch some PHP, MySQL and SQL.',
11+
'Later we play with C#, EF, SQL Server and ASP.NET MVC.',
12+
'Finally, we touch some Java, Hibernate and Spring.MVC.'
13+
];
14+
extractCapitalCaseWords(input);

JavaScriptBasicsLab/Expression.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
function calculate(input) {
2+
let result = (30 + 25) / 3 * (35 - 14 - 12);
3+
console.log(Math.pow(result, 2));
4+
}
5+
6+
calculate();
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
function findLargestThreeNums(arr) {
2+
3+
let nums = arr.map(Number).sort((a, b) => b - a);
4+
let count = Math.min(3, nums.length);
5+
6+
for (let i = 0; i < count; i++) {
7+
console.log(nums[i]);
8+
}
9+
}
10+
11+
let input = ['10', '30', '15', '20', '50', '5'];
12+
findLargestThreeNums(input);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Title</title>
6+
</head>
7+
<body>
8+
<form>
9+
<label for="num1">First number:</label>
10+
<input type="text" id="num1">
11+
<br/>
12+
<label for="num2">Second number:</label>
13+
<input type="text" id="num2">
14+
<br/>
15+
<input type="button" onclick="sumNumbers()" value="Calculate">
16+
</form>
17+
<div>Result: <span id="result"></span></div>
18+
<script>
19+
function sumNumbers() {
20+
let num1 = document.getElementById('num1').value;
21+
let num2 = document.getElementById('num2').value;
22+
23+
let sum = Number(num1) + Number(num2);
24+
document.getElementById('result').innerHTML = sum;
25+
}
26+
</script>
27+
</body>
28+
</html>

JavaScriptBasicsLab/SumTwoNumbers.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
function calculate(input) {
2+
let firstNum = Number(input[0]);
3+
let secondNum = Number(input[1]);
4+
5+
let sum = firstNum + secondNum;
6+
console.log(sum);
7+
}
8+
9+
let input = ['10', '20'];
10+
calculate(input);

JavaScriptBasicsLab/SumsbyTown.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
function calcSumByTows(arr) {
2+
let objects = arr.map(JSON.parse);
3+
let sums = {};
4+
5+
for (let obj of objects) {
6+
if (!(obj.town in sums)) {
7+
sums[obj.town] = obj.income;
8+
} else {
9+
sums[obj.town] += obj.income;
10+
}
11+
}
12+
13+
let towns = Object.keys(sums).sort();
14+
for (let town of towns) {
15+
console.log(`${town} -> ${sums[town]}`);
16+
}
17+
}
18+
19+
let input = ['{"town":"Sofia","income":200}',
20+
'{"town":"Varna","income":120}',
21+
'{"town":"Pleven","income":60}',
22+
'{"town":"Varna","income":70}'
23+
];
24+
25+
calcSumByTows(input);
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
function symmetricNums(arr) {
2+
let numberStr = arr[0];
3+
let number = Number(numberStr);
4+
let result = "";
5+
6+
for (let i = 1; i <= number; i++) {
7+
if (isSymmetric(i.toString())) {
8+
result += i + " ";
9+
}
10+
}
11+
console.log(result);
12+
13+
14+
function isSymmetric(numberStr) {
15+
for (let i = 0; i < numberStr.length / 2; i++) {
16+
if (numberStr[i] !== numberStr[numberStr.length - 1 - i]) {
17+
return false;
18+
}
19+
}
20+
return true;
21+
}
22+
}
23+
24+
let input = ['100'];
25+
symmetricNums(input);
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
function calculate(arr) {
2+
let numbers = arr[0].split(' ').map(Number);
3+
4+
console.log(
5+
checkSum(numbers[0], numbers[1], numbers[2]) ||
6+
checkSum(numbers[0], numbers[2], numbers[1]) ||
7+
checkSum(numbers[1], numbers[2], numbers[0]) ||
8+
'No'
9+
);
10+
11+
function checkSum(num1, num2, sum) {
12+
if (num1 + num2 !== sum) {
13+
return false;
14+
}
15+
if (num1 > num2) {
16+
[num1, num2] = [num2, num1]; // swapping the two numbers
17+
}
18+
return `${num1} + ${num2} = ${sum}`
19+
}
20+
}
21+
22+
let input = ['-5 -3 -2'];
23+
calculate(input);

0 commit comments

Comments
 (0)