JavaScript2 - vjezbe sa predavanja Flashcards
Učitati 8 brojeva.
Ispisati četvrti uneseni broj te zbroj prvog i petog unesenog broja.
var arr = [];
for(var i = 0; i < 8; i++){
arr[i] = parseInt(prompt(‘Unesite broj:’));
//ILI: arr.push(parseInt(prompt(‘Unesite broj:’)));
}
console.log(‘Cetvrti uneseni broj je ‘ + arr[3]);
console.log(‘Zbroj prvog i petog broja je ‘ + (arr[0]+arr[4]));
Deklarirati niz i popuniti ga cijelim brojevima. Ispisati prvi, srednji i zadnji element niza. (kod mora raditi za bilo koji niz, neovisno o broju elemenata).
var arr = [],
len = parseInt(prompt(‘Unesite duljinu niza:’)),
midIndex,
mid;
for(var i = 0; i < len; i++){ arr[i] = parseInt(prompt('Unesite broj:')); //ILI: arr.push(parseInt(prompt('Unesite broj:'))); } midIndex = parseInt((len-1)/2);
if(len % 2 === 0){ mid = arr[midIndex] + ' i ' + (arr[midIndex]+1); } else { mid = arr[midIndex]; }
console. log(‘Prvi uneseni broj ‘ + arr[0]);
console. log(‘Srednji uneseni broj/evi ‘ + mid);
console. log(‘Zadnji uneseni broj ‘ + arr[arr.length-1]);
Deklarirati prazan niz i popuniti ga sa 50 cijelih brojeva (petljom).
Nakon što se niz popuni u drugoj petlji uraditi računicu prosječne vrijednosti članova niza.
var arr = [], sum = 0;
for(var i = 1; i <= 50; i++){ arr.push(i); } for(i = 0; i < arr.length; i++){ sum += arr[i]; } console.log('Prosjecna vrijednost iznosi ' + (sum/arr.length));
Učitavati brojeve u niz sve dok im zbroj ne prijeđe 150.
Ispisati niz sortiran od najvećeg prema najmanjem.
var arr = [], sum = 0, temp;
while (sum <= 150) { var num = parseInt(prompt('Unesite broj:')); arr.push(num); sum += num; }
for (var i = 0; i < arr.length; i++) { for (var j = i+1; j < arr.length; j++) { if(arr[i] < arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } console.log('Niz poredan od najvećeg ka najmanjem je ', arr);
Zatražiti od korisnika unos nekog stringa. Ispisati koliko ima samoglasnika u tom stringu.
Ispisati prvih 5 slova unesenog stringa.
var text = prompt('Unesite tekst'), newText = '', vowelCounter = 0, letterCounter = 0;
for(var i = 0; i < text.length; i ++) {
if(text[i] === ‘a’ || text[i] === ‘e’ || text[i] === ‘i’ || text[i] === ‘o’ || text[i] === ‘u’ || text[i] === ‘A’ || text[i] === ‘E’ || text[i] === ‘I’ || text[i] === ‘O’ || text[i] === ‘U’) {
vowelCounter++;
}
}
console.log(‘Broj samoglasnika: ‘ + vowelCounter);
for(var i = 0; i < text.length; i ++) {
if(letterCounter < 5 && ((text[i] >= ‘a’ && text[i] <= ‘z’) || (text[i] >= ‘A’ && text[i] <= ‘Z’))) {
newText += text[i];
letterCounter++;
}
}
console.log(‘Prvih 5 slova unesenog teksta: ‘ + newText);
Deklarirati niz koji se sastoji od 5 riječi.
Napisati funkciju koja vraća najdulju i najkraću riječ iz niza te ispisati rezultat u glavnom programu.
function wordLength(words) { var shortest = words[0], longest = words[0];
for (var i = 0; i < words.length; i++) { if (shortest.length > words[i].length) { shortest = words[i]; } if (longest.length < words[i].length) { longest = words[i]; } } return ('Najkraća rijec je "' + shortest + '", a najdulja "' + longest + '".'); }
var textArray = ['Programming', 'we', 'love']; console.log(wordLength(textArray));
Učitati niz od 10 brojeva. Ispisati najveći i najmanji član niza, zatim poredati članove niza po veličini - od najvećeg prema najmanjem i ispisati ga, potom od najmanjeg prema najvećem i njega također ispisati.
let arr = [1, 34, 45, 56, 102, -2, -512, 0, 12]; let smallestNumber = arr[0]; let biggestNumber = arr[0];
function smallestNumberFunc(a) {
for(let i = 0; i < arr.length; i++) { if(arr[i] < smallestNumber) { smallestNumber = arr[i];
}
}
return smallestNumber;
}
function biggestNumberFunc(a) {
for(let i = 0; i < arr.length; i++) { if(arr[i] > biggestNumber) { biggestNumber = arr[i]; } } return biggestNumber; }
function sortArrayAsc(a){ for(let i = 0; i < arr.length; i++) { for(let j = 0; j < i; j++) { if(arr[i] < arr[j]) { let temp = arr[i]; arr[i] = arr[j]; arr[j] = temp;
} } } return arr; }
function sortArrayDesc(a) { for(let i = 0; i < arr.length; i++) { for(let j = 0; j < i; j++) { if(arr[i] > arr[j]) { let temp = arr[i]; arr[i] = arr[j]; arr[j] = temp;
} } } return arr; }
console. log(‘Smallest number ‘ + smallestNumberFunc(arr));
console. log(‘Biggest number ‘ + biggestNumberFunc(arr));
console. log(‘Sorted array ascending ‘ + sortArrayAsc(arr));
console. log(‘Sorted array decending ‘ + sortArrayDesc(arr));
// code by admir
atražiti od korisnika unos 10 brojeva u niz. Izbaciti iz postojećeg niza zadnja tri broja i dodati broj 25 na kraj niza.
var arr = [];
for(var i = 0; i < 10; i++) {
arr.push(parseInt(prompt(‘Unesite ‘ + (i+1) + ‘. broj:’)));
}
// OBJAŠNJENJE:
// .splice(startni index, broj elemenata koje će ukloniti počevši od startnog indexa, element kojega će dodati na startni index)
arr.splice(arr.length-3, 3, 25);
// Ukoliko želimo spremiti izbačene elemente u drugi niz, napisati ćemo ovako: // var arr2 = arr.splice(arr.length-3, 3, 25); console.log(arr);
Zadan je niz cijena kupljenih proizvoda:
var prices = [‘KM 1.00’, ‘KM 1.85’, ‘KM 19.99’];
Zbrojiti ukupan iznos koji treba platiti.
(metoda slice)
var prices = ['KM 1.00', 'KM 1.85', 'KM 19.99'], sum = 0;
for(var i = 0; i < prices.length; i++) { sum += parseFloat(prices[i].slice(3)); // Mogli smo napisati i: // sum += parseFloat(prices[i].slice(0, prices[i].length-3)); } console.log('Iznos za platiti: ' + sum);
// OBJAŠNJENJE: // .slice(startni index, završni index);
// SLICE ne mijenja originalni niz, za razliku od SPLICE-a!
Zadan je niz cijena kupljenih proizvoda:
var prices = [‘KM 1.00’, ‘KM 1.85’, ‘KM 19.99’];
Zbrojiti ukupan iznos koji treba platiti.
(metoda split)
var prices = ['KM 1.00', 'KM 1.85', 'KM 19.99'], sum = 0, price;
for(var i = 0; i < prices.length; i++) { price = prices[i].split(' '); sum += parseFloat(prices[1]); } console.log('Iznos za platiti: ' + sum);
// OBJAŠNJENJE: // Metoda split() // .split(uvjet po kojemu splitamo string);
// Ako stavimo .split(‘’), dobit ćemo novi niz sastavljen od svakog znaka kojeg string sadrži, npr.:
// var txt = 'Danas je petak.'; // var splitted = txt.split(''); // console.log(splitted); // ispis: ['D', 'a', 'n', 'a', 's', ' ', 'j', 'e', ' ', 'p', 'e', 't', 'a', 'k', '.']
// console.log(splitted[2]); // ispis: 'n'
// SPLIT ne mijenja originalni string
Zatražite od korisnika unos 5 dvoznamenkastih različitih brojeva u niz.
Pobrinite se da korisnik mora unijeti točno 5 brojeva. Unos istih brojeva te onih koji nisu dvoznamenkasti ne smije biti dopušten.
var numbers = [], num;
// Ponavljaj dok niz ne bude sadržavao točno 5 elemenata while (numbers.length < 5) { num = parseInt(prompt('Unesite dvoznamenkasti broj'));
// Ako se broj nalazi u intervalu 10-99 (tj. ako je dvoznamenkast) // i ako ne postoji već u nizu 'numbers' if ((num > 9 && num < 100) && numbers.indexOf(num) === -1) { // Dodaj broj u niz numbers.push(num); } }
console.log(‘Uneseni brojevi: ‘ + numbers);
Napraviti matricu 3x3.
Popuniti ju sa brojevima 1-9.
Ispisati prvi redak matrice.
Ispisati cijelu matricu (svaki broj u novom redu).
var matrix = [], row = [], elem = 1;
for(var i = 0; i < 3; i++) { row = []; for(var j = 0; j < 3; j++) { row.push(elem++); } matrix.push(row); } console.log('Prvi redak matrice: ', matrix[0]); console.log('Svaki broj u novom redu:');
for(var i = 0; i < 3; i++) { for(var j = 0; j < 3; j++) { console.log(matrix[i][j]); } }
Napraviti matricu 3x3. Prvi redak neka se sastoji od brojeva 2, 4 i 6, drugi redak od istih brojeva na kvadrat, treći od istih brojeva na treću potenciju.
// Problem rijesen sa for petljom
let matrix = []; let elem = 2;
for(let i = 0; i < 3; i++) {
let row = [];
matrix.push(row);
}
for(let j = 0; j < 3; j++) { for(let z = 0; z < 3; z++) { if(j === 0) matrix[j][z] = elem; elem+=2; if (j == 1) matrix[j][z] = Math.pow(matrix[0][z],2); if (j == 2) matrix[j][z] = Math.pow(matrix[0][z],3); } }
// Problem rijesen bez for petlje
// // prvi red // matrix[0][0] = 2; // matrix[0][1] = 4; // matrix[0][2] = 6;
// // drugi red na kvadrat // matrix[1][0] = Math.pow(matrix[0][0],2); // matrix[1][1] = Math.pow(matrix[0][1],2); // matrix[1][2] = Math.pow(matrix[0][2],2);
// // treci red na trecu // matrix[2][0] = Math.pow(matrix[0][0],3); // matrix[2][1] = Math.pow(matrix[0][1],3); // matrix[2][2] = Math.pow(matrix[0][2],3);
// citava matrica console.log(matrix);
Deklarirati objekt kuća.
Deklarirati property-e: brojKatova, brojKvadrata, bojaFasade i pridijeliti im proizvoljne vrijednosti.
Ispisati property-e na sljedeći način: console.log(‘Imam kuću na ‘ + broj katova + ‘ sa ‘ + broj kvadrata + ‘. Boja fasade je ‘ + boja fasade + ‘.’);
var kuca = { brojKatova: 2, brojKvadrata: 200, bojaFasade: 'zuta' };
console.log(‘Imam kucu na ‘ + kuca.brojKatova + ‘ sa ‘ + kuca.brojKvadrata + ‘. Boja fasade je ‘ + kuca.bojaFasade + ‘.’);
Prepraviti prvi zadatak korištenjem drugog načina definiranja property-a.
var kuca = {};
kuca. brojKatova = 2;
kuca. brojKvadrata = 200;
kuca. bojaFasade = ‘zuta’;
console.log(‘Imam kucu na ‘ + kuca.brojKatova + ‘ sa ‘ + kuca.brojKvadrata + ‘. Boja fasade je ‘ + kuca.bojaFasade + ‘.’);
Deklarirati objekt osoba.
Deklarirati property-e: ime, prezime, brojGodina. Koristiti treći način definiranja property-a. Ispisati property-e na sljedeći način:
console.log(‘Ja sam ‘ + ime + ‘, prezime mi je ‘ + prezime + ’. Tek mi je ‘ + broj godina + ’ godina.’);
var osoba = {}; osoba['ime'] = 'Ana'; osoba['prezime'] = 'Anic'; osoba['godine'] = 20;
console.log(‘Ja sam ‘ + osoba[‘ime’] + ‘, prezime mi je ‘ + osoba[‘prezime’] + ‘. Tek mi je ‘ + osoba[‘godine’] + ‘ godina.’);