Всем привет! такой вопрос, у меня есть массив, в нем есть исходные данные, в том числе и дата рождения человека, этот массив вывожу в таблицу, мне надо написать функцию при которой будет вычисление массива и занесение его в таблицу в ячейку рядом с датой рождения(возраст студента), также есть форма добавления нового студента
Внемлю о помощи!!! эта функция function age()
const array = [
{ sname: 'Сидоров', fname: 'Иван', lname: 'Михайлович', bdate: '23.12.1990', startlearn: '12.12.2005', fac: 'Физики' },
{ sname: 'Сидорова', fname: 'Ивана', lname: 'Михайловна', bdate: '12.11.1994', startlearn: '24.01.2006', fac: 'Астрономии' },
{ sname: 'Сорокина', fname: 'Мария', lname: 'Алексеевна', bdate: '01.01.1992', startlearn: '11.12.2008', fac: 'Математики' },
{ sname: 'Андропов', fname: 'Александр', lname: 'Петрович', bdate: '3.10.1992', startlearn: '13.12.2003', fac: 'Информатики' },
{ sname: 'Никифоров', fname: 'Олег', lname: 'Олегович', bdate: '24.12.1995', startlearn: '12.12.2004', fac: 'Химии' }
]
buildTable(array)
function buildTable(data) {
let table = document.getElementById('mytable')
table.innerHTML = ''
for (let i = 0; i < data.length; i++) {
let fioObj = data[i].sname + "\n" + data[i].fname + "\n" + data[i].lname
let row = `
<tr>
<td>${fioObj}</td>
<td>${data[i].fac}</td>
<td>${data[i].startlearn}</td>
<td>${data[i].bdate}</td>
<tr/>
`
table.innerHTML += row
}
}
document.getElementById("inputFac").addEventListener('keyup', function() {
let value = document.getElementById('inputFac').value
console.log(value)
let data = tableSearch(value, array)
buildTable(data)
})
function tableSearch(value, data) {
let filterData = []
for (let i = 0; i < data.length; i++) {
value = value.toLowerCase()
let name = data[i].fac.toLowerCase()
if (name.includes(value)) {
filterData.push(data[i])
}
}
return filterData
}
document.getElementById("inputFio").addEventListener('keyup', function() {
let value = document.getElementById('inputFio').value
console.log(value)
let data = tableSearch(value, array)
buildTable(data)
})
function tableSearch(value, data) {
let filterData = []
for (let i = 0; i < data.length; i++) {
value = value.toLowerCase()
let name = data[i].fname.toLowerCase()
if (name.includes(value)) {
filterData.push(data[i])
}
}
return filterData
}
function onAddStudent() {
const inputStudentName = document.getElementById('student__name').value;
const inputStudentSName = document.getElementById('student__sname').value;
const inputStudentLName = document.getElementById('student__lname').value;
const inputStudentBDate = document.getElementById('student__bdate').value;
const inputStudentStLearn = document.getElementById('student__startLearn').value;
const inputStudentFac = document.getElementById('student__faculty').value;
let input = {
fname: inputStudentName,
sname: inputStudentSName,
lname: inputStudentLName,
bdate: inputStudentBDate,
startlearn: inputStudentStLearn,
fac: inputStudentFac,
}
console.log(input);
array.push(input);
buildTable(array);
}
function age() {
let today = new Date();
let dateOfBirthday = new Date(array.bdate);
//Возраст = текущий год - год рождения
let age = today.getFullYear() - dateOfBirthday.getFullYear();
// Если ДР в этом году ещё предстоит, то вычитаем из age один год
console.log(age)
}
age()