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];
|
||||
|
||||
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';
|
||||
|
||||
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 }
|
||||
];
|
||||
|
||||
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';
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
factorial(4, res => console.log(`Result: ${res}`))
|
||||
|
28
ex6.js
28
ex6.js
@ -2,10 +2,34 @@
|
||||
|
||||
var request = require("request");
|
||||
|
||||
get('/api/persons/2948', function(data) {
|
||||
console.log(data);
|
||||
function getRelevantData(personId, cb) {
|
||||
|
||||
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