First
This commit is contained in:
parent
cdd07ba12f
commit
f052e1ef25
16
ex1.js
16
ex1.js
@ -2,4 +2,18 @@
|
|||||||
|
|
||||||
var array = [1, 2, 3, 4, 5, 6];
|
var array = [1, 2, 3, 4, 5, 6];
|
||||||
|
|
||||||
console.log('Even numbers: ' + array);
|
function filter(numbers, filterfunc) {
|
||||||
|
let filtered = [];
|
||||||
|
|
||||||
|
for (let n of numbers) {
|
||||||
|
if (filterfunc(n)) {
|
||||||
|
filtered.push(n);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return filtered;
|
||||||
|
}
|
||||||
|
|
||||||
|
var filtered = filter(array, numb => numb % 2 === 0);
|
||||||
|
|
||||||
|
console.log('Even numbers: ' + filtered);
|
||||||
|
5
ex2.js
5
ex2.js
@ -1,6 +1,9 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var array = [1, 2, 3, 4, 5, 6];
|
var array = [1, 2, 3, 4, 5, 6];
|
||||||
|
array.push(7, 8)
|
||||||
|
|
||||||
console.log('Even numbers squared: ' + array);
|
var evenSquared = array.filter(n => n % 2 == 0).map(n => n*n);
|
||||||
|
|
||||||
|
console.log('Even numbers squared: ' + evenSquared);
|
||||||
|
|
||||||
|
5
ex3.js
5
ex3.js
@ -9,5 +9,8 @@ var array = [
|
|||||||
{ id: 6, selected: false }
|
{ id: 6, selected: false }
|
||||||
];
|
];
|
||||||
|
|
||||||
console.log('Ids of selected objects: ' + array);
|
var filtered = array.filter(el => el.selected ? el : null)
|
||||||
|
.map(el => el.id);
|
||||||
|
|
||||||
|
console.log('Ids of selected objects: ' + filtered);
|
||||||
|
|
||||||
|
14
ex4.js
14
ex4.js
@ -1,2 +1,16 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
function Person(name) {
|
||||||
|
if (!name) {
|
||||||
|
throw new Error("Name not set");
|
||||||
|
}
|
||||||
|
this.name = name;
|
||||||
|
//this.getName = () => `this.getName: ${this.name}`;
|
||||||
|
|
||||||
|
}
|
||||||
|
Person.prototype.getName = function (){ return `proto.getName ${this.name}`; }
|
||||||
|
|
||||||
|
var person = new Person("Kala");
|
||||||
|
console.log(Object.keys(person));
|
||||||
|
console.log(Object.keys(person.__proto__));
|
||||||
|
console.log(person.getName());
|
||||||
|
2
ex5.js
2
ex5.js
@ -14,3 +14,5 @@ function factorial(n, callback) {
|
|||||||
|
|
||||||
callback(result);
|
callback(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
factorial(4, res => console.log(`Result: ${res}`))
|
||||||
|
28
ex6.js
28
ex6.js
@ -2,10 +2,34 @@
|
|||||||
|
|
||||||
var request = require("request");
|
var request = require("request");
|
||||||
|
|
||||||
get('/api/persons/2948', function(data) {
|
function getRelevantData(personId, cb) {
|
||||||
console.log(data);
|
|
||||||
|
get('/api/persons/'+personId, recv => {
|
||||||
|
let result = {name: recv.name}
|
||||||
|
let waitingResponses = 2;
|
||||||
|
|
||||||
|
function recvCb(data, type){
|
||||||
|
if (type === "insurance") {
|
||||||
|
result.isInsured = data.isInsured;
|
||||||
|
waitingResponses--;
|
||||||
|
} else if (type === "debt") {
|
||||||
|
result.taxDebt = data.debt;
|
||||||
|
waitingResponses--;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!waitingResponses) {
|
||||||
|
cb(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
get('/api/health-insurance/'+recv.code, recv => recvCb(recv, "insurance"));
|
||||||
|
get('/api/tax-debt/'+recv.code, recv => recvCb(recv, "debt"));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
getRelevantData(2948,console.log)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
62
readme.txt
Normal file
62
readme.txt
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
Kloonige https://bitbucket.org/mkalmo/i399exlang repo ja importige see IDE-sse.
|
||||||
|
|
||||||
|
1. Kirjutage funktsioon filter(array, predicateFunction), mis tagastab listi
|
||||||
|
elementidest, mis vastavad predicateFunction-iga määratud tingimusele.
|
||||||
|
kasutamise näide:
|
||||||
|
var oddNumbers = filter([1, 2, 3], function (each) {
|
||||||
|
return each % 2 === 1;
|
||||||
|
});
|
||||||
|
|
||||||
|
Käivitamiseks: node ex1.js
|
||||||
|
|
||||||
|
2. Kirjutage kood, mis:
|
||||||
|
- loob listi arvudega 1, 2, 3, 4, 5, 6
|
||||||
|
- lisab sinna arvud 7 ja 8
|
||||||
|
- filtreerib välja paarisarvud
|
||||||
|
- võtab need paarisarvud ruutu
|
||||||
|
- väljastab tulemuse konsooli
|
||||||
|
|
||||||
|
kasutage array meetodeid .filter() ja .map()
|
||||||
|
|
||||||
|
3. Kirjutage kood, mis väljastab nende elementide id-d,
|
||||||
|
millel on "selected" tunnus tõene.
|
||||||
|
|
||||||
|
4. Tehke objekt person, millel on väli name ja meetod getName(), mis tagastab nime.
|
||||||
|
Konstruktorile saab argumendiga nime ette anda.
|
||||||
|
|
||||||
|
var person = new Person("Jack");
|
||||||
|
console.log(person.getName()); // Jack
|
||||||
|
|
||||||
|
Proovige panna meetodit nii objekti, kui prototüübi külge.
|
||||||
|
Veenduge, et meetod on õiges kohas (vihjed: Object.keys() ja __proto__).
|
||||||
|
|
||||||
|
5. Teil on kasutada funktsioon factorial(n, callback).
|
||||||
|
Arvutage selle abil 5! ja printige see konsooli.
|
||||||
|
Funktsiooni factorial ennast muuta ei tohi.
|
||||||
|
|
||||||
|
6. Minge käsureal omale kloonitud repo kataloogi ja käivitage käsud:
|
||||||
|
> npm install
|
||||||
|
See laeb vajalikud teegid.
|
||||||
|
> npm start
|
||||||
|
See käivitab rakenduse, mis pakub aadressilt http://localhost:3000 järgmisi teenuseid:
|
||||||
|
|
||||||
|
/api/persons/2948
|
||||||
|
Tagastab ID järgi isiku andmed (sh koodi).
|
||||||
|
|
||||||
|
/api/health-insurance/<code>
|
||||||
|
Ütleb, kas sellise koodiga inimene on kindlustatud.
|
||||||
|
|
||||||
|
/api/tax-debt/<code>
|
||||||
|
Ütleb, kas sellise koodiga inimensel on maksuvõlg.
|
||||||
|
|
||||||
|
Kasutage neid teenuseid andmete saamiseks ja printige konsooli isiku andmed kujul:
|
||||||
|
{
|
||||||
|
name : <nimi>,
|
||||||
|
isInsured: <kas on kindlustatud>,
|
||||||
|
taxDebt: <maksuvõla suurus>
|
||||||
|
}
|
||||||
|
|
||||||
|
Teenuste poole pöördumiseks:
|
||||||
|
get('/api/persons/2948', callbackFunktsioon);
|
||||||
|
|
||||||
|
Lahendused: https://youtu.be/a4YzPo8hi9o
|
Loading…
Reference in New Issue
Block a user