Advertisement
poli1993_

Furniture

Jan 4th, 2020
827
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     let generateBtn = document.querySelector("#exercise > button:nth-child(3)").addEventListener('click', function (e){
  3.       let txtArea = document.querySelector("#exercise > textarea:nth-child(2)").value;
  4.      
  5.       let obj = JSON.parse(txtArea);
  6.       let table = document.querySelector(".table");
  7.  
  8.       for (let item of obj) {
  9.           let rowsCount = table.rows.length;
  10.           row = table.insertRow(rowsCount);
  11.           let cell = row.insertCell(0);
  12.           cell.innerHTML ='<img src='+item.img+'>';
  13.           let cell2 = row.insertCell(1);
  14.           cell2.innerHTML = '<p>'+item.name+'</p>';
  15.           let cell3 = row.insertCell(2);
  16.           cell3.innerHTML = '<p>'+item.price+'</p>';
  17.           let cell4 = row.insertCell(3);
  18.           cell4.innerHTML = '<p>'+item.decFactor+'</p>';
  19.           let cell5 = row.insertCell(4);
  20.           cell5.innerHTML = '<input type ="checkbox">';
  21.  
  22.       }
  23.     })
  24.     let resultArea = document.querySelector("#exercise > textarea:nth-child(5)");
  25.     let buyBtn = document.querySelector("#exercise > button:nth-child(6)").addEventListener('click', function(){
  26.       function getCheckedValues() {
  27.         return Array.from(document.querySelectorAll('input[type="checkbox"]'))
  28.         .filter((checkbox) => checkbox.checked)
  29.         .map((checkbox) => checkbox.parentElement.parentElement);
  30.       }
  31.       let bougthFurniture = [];
  32.       let price =[];
  33.       let decFactor = [];
  34.      
  35.       for(let i = 0; i < getCheckedValues().length; i++){
  36.         bougthFurniture.push(getCheckedValues()[i].children[1].children[0].innerHTML);
  37.         price.push(getCheckedValues()[i].children[2].children[0].innerHTML);
  38.         decFactor.push(getCheckedValues()[i].children[3].children[0].innerHTML);
  39.       }
  40.       let totalPrice = 0;
  41.       let averageDecFactor = 0;
  42.       if(price.length > 1){
  43.          totalPrice = price.reduce((acc,curr) => +acc + +curr).toFixed(2);
  44.          averageDecFactor = (decFactor.reduce((acc,curr) => +acc + +curr)/decFactor.length);
  45.       }else{
  46.         totalPrice = price;
  47.         averageDecFactor = decFactor;
  48.       }
  49.       console.log(price);
  50.       resultArea.value += `Bought furniture: ${bougthFurniture.join(', ')}`;
  51.       resultArea.value += `\nTotal price: ${totalPrice}`;
  52.       resultArea.value += `\nAverage decoration factor: ${averageDecFactor}`;
  53.      
  54.     })
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement