function generateReport() { let rowsArray = Array.from(document.getElementsByTagName("tbody")[0].querySelectorAll('tr')); console.log(rowsArray); let chkboxes = Array.from(document.getElementsByTagName("input")); // console.log(chkboxes); let outputArea = document.getElementById("output"); let data = []; for (let i = 0; i < rowsArray.length; i++) { let row = rowsArray[i]; let cells = Array.from(row.querySelectorAll('td')); let employee = cells[0].textContent; let deparment = cells[1].textContent; let status = cells[2].textContent; let dateHired = cells[3].textContent; let benefits = cells[4].textContent; let salary = cells[5].textContent; let rating = cells[6].textContent; let employeeObj = { employee, deparment, status, dateHired, benefits, salary, rating } data.push(employeeObj) } // console.log(data); let checkedFields = [] for (let i = 0; i < chkboxes.length; i++) { let isChecked = chkboxes[i].checked; // console.log(isChecked); if (isChecked) { checkedFields.push(chkboxes[i].name); } } let output = []; for (let i = 0; i < data.length; i++) { let emp = data[i]; let newObj = {}; for (let k = 0; k < checkedFields.length; k++) { let field = checkedFields[k]; newObj[field] = emp[field]; } output.push(newObj); } let outputString=JSON.stringify(output) outputArea.textContent = outputString; // console.log(output) }