Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- const input = document.querySelector('#exercise textarea');
- const button = document.querySelector('#exercise button');
- button.addEventListener('click', generateRowElement);
- function generateRowElement(e) {
- e.preventDefault();
- let arr = JSON.parse(input.value);
- for (const item of arr) {
- let tableRow = document.createElement('tr');
- document.querySelector('tbody').appendChild(tableRow);
- tableRow.innerHTML = `
- <td><img src="${item.img}"></td>
- <td>${item.name}</td>
- <td>${item.price}</td>
- <td>${item.decFactor}</td>
- <td><input type="checkbox"></td>
- `
- }
- }
- const buyButton = document.querySelector('#exercise button:nth-child(6)');
- buyButton.addEventListener('click', shop);
- const textArea = document.querySelector('#exercise textarea:nth-child(5)');
- function shop(e) {
- e.preventDefault();
- let result = {
- furniture: [],
- totalPrice: 0,
- average: [],
- };
- let tableRowsArr = Array.from(document.querySelectorAll('tbody tr'));
- tableRowsArr.forEach(row => {
- let checkField = row.querySelector('input[type=checkbox]');
- if (checkField.checked) {
- let name = row.querySelector(`td:nth-child(2)`).textContent;
- let price = Number(row.querySelector(`td:nth-child(3)`).textContent);
- let decoFact = Number(row.querySelector(`td:nth-child(4)`).textContent);
- result.furniture.push(name);
- result.totalPrice += price;
- result.average.push(decoFact);
- }
- })
- let avgDeco = result.average.reduce((a, b) => a + b) / result.furniture.length;
- textArea.value = `Bought furniture: ${result.furniture.join(', ')}\nTotal price: ${result.totalPrice.toFixed(2)}\nAverage decoration factor: ${avgDeco}`;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment