JavaScript – GET Fetch Promise (Frontend)
const getFetch = (url) => {
return new Promise((resolve, reject) => {
fetch(url)
.then(response => {
if (!response.ok) {
reject(`Hiba: ${response.statusText} (${response.status})`);
}
return response.json();
})
.then(data => resolve(data))
.catch(error => reject(`Hiba: ${error}`));
});
};
JavaScript – POST Fetch Promise (Frontend)
const postFetch = (url, postBody) => {
return new Promise((resolve, reject) => {
fetch(url, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(postBody)
})
.then(response => {
if (!response.ok) {
reject(`Hiba: ${response.statusText} (${response.status})`);
}
return response.json();
})
.then(data => resolve(data))
.catch(error => reject(`Hiba: ${error}`));
});
};
JavaScript – POST Fetch (FormData) Promise (Frontend)
const postFetchForm = (url, formData) => {
return new Promise((resolve, reject) => {
fetch(url, { method: 'POST', body: formData })
.then(response => {
if (!response.ok) {
reject(`Hiba: ${response.statusText} (${response.status})`);
}
return response.json();
})
.then(data => resolve(data))
.catch(error => reject(`Hiba: ${error}`));
});
};
JavaScript – API GET + paraméter (Backend)
app.get('/api/pelda/:parameter', (request, response) => {
const peldaParam = request.params.parameter;
const filePath = path.join(__dirname, `/public/data/${peldaParam}.json`);
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error('Error reading file:', err);
return response.status(500).json({ error: 'Failed to read file' });
}
return response.status(200).json(JSON.parse(data));
});
});
JavaScript – API POST fs (Backend)
app.post('/api/posttxt', (request, response) => {
const postBody = request.body;
const filePath = path.join(__dirname, '/data/adatok.txt');
const data = JSON.stringify(postBody);
fs.appendFile(filePath, data, error => {
if (error) {
return response.json({ message: 'Hiba: ' + error });
}
response.json({ message: 'Sikeres küldés' });
});
});
JavaScript – API POST FormData (Backend)
app.post('/api/update/versenyzok', upload.single('file'), async (request, response) => {
const adatok = request.body;
try {
await db.updateInVersenyzok(adatok.nev, adatok.id);
response.status(200).json({ message: 'Sikeres versenyző frissítése!' });
} catch (error) {
response
.status(500)
.json({ message: 'Hiba a versenyző frissítése közben!', error: error.message });
}
});
app.post('/api/postFile', upload.single('fileInput'), (request, response) => {
console.log(request.body, request.file);
if (!request.file) {
return response.status(500).json({ message: 'Nem töltött fel fájlt!' });
}
response.status(200).json({
message: '/api/postFormData kész.',
formDataBody: request.body,
file: request.file
});
});
JavaScript – File feltöltés FormData-val (Frontend)
const formData = new FormData(document.getElementById('formFile'));
// vagy: const formData = new FormData();
const fileInput = document.getElementById('fileInput2');
if (fileInput && fileInput.files.length > 0) {
formData.append('file', fileInput.files[0]);
try {
const response = await postFetchForm('/api/postFile', formData);
console.log('File uploaded successfully:', response);
} catch (error) {
console.error('Error uploading file:', error);
}
} else {
console.log('No file selected');
}
JavaScript – FormData mezők kitöltöttségének ellenőrzése
const formData = new FormData(document.getElementById('formForAddData'));
const allFilled = [...formData.values()].every(value => value.trim() !== '');
if (allFilled) {
// POST Fetch vagy egyéb művelet
} else {
alert('Nem töltöttél ki minden adatot!');
}
JavaScript – Form mezők alaphelyzetbe állítása
document.getElementById('feladatForm').reset();
JavaScript – Táblázat generálás (1. típus)
const div = document.getElementById('forTable');
const table = document.createElement('table');
const tbody = document.createElement('tbody');
data.forEach(row => {
const tr = document.createElement('tr');
Object.values(row).forEach(item => {
const td = document.createElement('td');
td.textContent = item;
tr.appendChild(td);
});
tbody.appendChild(tr);
});
table.appendChild(tbody);
div.replaceChildren(table);
JavaScript – Táblázat generálás (csak bizonyos adatok)
const div = document.getElementById('forTable');
const table = document.createElement('table');
const tbody = document.createElement('tbody');
data.forEach(row => {
const tr = document.createElement('tr');
const td1 = document.createElement('td');
td1.textContent = row.adat1;
const td2 = document.createElement('td');
td2.textContent = row.adat2;
tr.append(td1, td2);
tbody.appendChild(tr);
});
table.appendChild(tbody);
div.replaceChildren(table);
JavaScript – Táblázat generálás (2. típus)
const createTable = array => {
const div = document.getElementById('forTable');
const table = document.createElement('table');
const thead = document.createElement('thead');
const trHead = document.createElement('tr');
const headers = ['Név', 'Kor'];
headers.forEach(text => {
const th = document.createElement('th');
th.textContent = text;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
const tbody = document.createElement('tbody');
array.forEach(item => {
const tr = document.createElement('tr');
[item.nev, item.kor].forEach(val => {
const td = document.createElement('td');
td.textContent = val;
tr.appendChild(td);
});
tbody.appendChild(tr);
});
table.appendChild(tbody);
div.appendChild(table);
};
JavaScript – Kattintott táblasor kijelölése
const selectPilotaRows = () => {
const tbody = document.getElementById('pilotaBody');
Array.from(tbody.children).forEach(tr => {
tr.addEventListener('click', () => {
if (tr.dataset.selected === 'true') {
tr.dataset.selected = 'false';
tr.classList.remove('table-active');
} else {
Array.from(tbody.children).forEach(row => {
row.dataset.selected = 'false';
row.classList.remove('table-active');
});
tr.dataset.selected = 'true';
tr.classList.add('table-active');
}
});
});
};
JavaScript – Select feltöltése Fetch segítségével
const fillSelect = async url => {
const select = document.getElementById('selectList');
try {
const response = await fetch(url);
if (!response.ok) throw new Error(response.status);
const data = await response.json();
data.result.forEach(item => {
const option = document.createElement('option');
option.textContent = item.csapatnev;
option.value = item.csapatnev;
option.dataset.id = item.csapatazonosito;
select.appendChild(option);
});
} catch (error) {
console.log(`Hiba történt: ${error}`);
}
};
JavaScript – Select aktív option adat lekérdezése
const select = document.getElementById('select');
const selectedOption = select.options[select.selectedIndex].dataset.id;
JavaScript – Város szerkesztése (db.queries példa)
function editVaros(formData, id) {
return new Promise((resolve, reject) => {
const { vnev, jaras, kisterseg, nepesseg, terulet } = formData;
const sql = `
UPDATE varos
SET vnev = ?, jaras = ?, kisterseg = ?, nepesseg = ?, terulet = ?
WHERE id = ?;
`;
const values = [vnev, jaras, kisterseg, nepesseg, terulet, id];
pool.query(sql, values, (err, result) => {
if (err) return reject(err);
resolve(result);
});
});
}
JavaScript – Összegzés (Elemi tétel)
function osszegzes(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
JavaScript – Megszámlálás (Elemi tétel)
function megszamlalas(arr, condition) {
let count = 0;
for (let i = 0; i < arr.length; i++) {
if (condition(arr[i])) count++;
}
return count;
}
JavaScript – Szélsőérték keresés (Elemi tétel)
function minErtek(arr) {
let min = arr[0];
for (let i = 1; i < arr.length; i++) {
if (arr[i] < min) min = arr[i];
}
return min;
}
function maxErtek(arr) {
let max = arr[0];
for (let i = 1; i < arr.length; i++) {
if (arr[i] > max) max = arr[i];
}
return max;
}
JavaScript – Eldöntés (Elemi tétel)
function eldontes(arr, condition) {
for (let i = 0; i < arr.length; i++) {
if (condition(arr[i])) return true;
}
return false;
}
JavaScript – Kiválogatás (Elemi tétel)
function kivalogatas(arr, condition) {
const result = [];
for (let i = 0; i < arr.length; i++) {
if (condition(arr[i])) result.push(arr[i]);
}
return result;
}
JavaScript – Szétválogatás (Elemi tétel)
function szetvalogatas(arr, condition) {
const megfelel = [];
const nemMegfelel = [];
for (let i = 0; i < arr.length; i++) {
if (condition(arr[i])) megfelel.push(arr[i]);
else nemMegfelel.push(arr[i]);
}
return [megfelel, nemMegfelel];
}
JavaScript – Keresés (Elemi tétel)
function kereses(arr, condition) {
for (let i = 0; i < arr.length; i++) {
if (condition(arr[i])) return arr[i];
}
return null;
}
JavaScript – Rendezés (Elemi tétel)
function novekvo(arr) {
for (let i = 0; i < arr.length - 1; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
[arr[i], arr[j]] = [arr[j], arr[i]];
}
}
}
return arr;
}
function csokkeno(arr) {
for (let i = 0; i < arr.length - 1; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] < arr[j]) {
[arr[i], arr[j]] = [arr[j], arr[i]];
}
}
}
return arr;
}
JavaScript – Változók deklarálása & adattípusok
// Deklarálás:
const q = 10; // nem változik
let w = 3; // változhat
// kerülendő: automatikus globális
k = q + w;
// Adattípusok
let length = 5; // Number
let weight = 9.2; // Number
let szin = 'Piros'; // String
let x = true, y = false; // Boolean
const ember = { vezetekNev: 'Kis', keresztNev: 'Pista' }; // Object
const autok = ['Audi', 'Opel', 'BMW']; // Array
const egyDatum = new Date('2022-03-25'); // Date