меняется forEach в цикл for - PullRequest
       8

меняется forEach в цикл for

0 голосов
/ 18 апреля 2020

Javascript новичок здесь, пытающийся учиться кодированием, в данный момент я пытаюсь выучить 'forEach' и 'for', здесь у меня есть код, где он работает с 'forEach', я пытаюсь замените его на 'для l oop', например так (не знаете, правильно ли я здесь поступаю?), если, возможно, кто-нибудь мог бы написать для этого отдельные «циклы for»? было бы хорошо для новых программистов.

for (var i = 0; i < arvvoja.length; i++) { 
  option.textContent += dataa[i][arvvoja] + " "; 
}); 

безуспешно, вот мой код:

let animals 
let animalCols = ['Animal', 'Animal 2'] 
let peopleCols = ['Person', 'Person 2'] 
 
function myFunction() { 
  paivitys(animals, animalCols) 
} 
 
function paivitys(dataa, arvvoja) { 
  console.log(dataa); 
  //---- 
  if (dataa.hasOwnProperty("animal")) { 
    document.getElementById("1name").innerHTML = dataa.animal; 
  } else { 
    document.getElementById("1name").innerHTML = dataa.person; 
  } 
  //----   
  if (dataa.hasOwnProperty("animal2")) { 
    document.getElementById("2name").innerHTML = dataa.animal2; 
  } else { 
    document.getElementById("2name").innerHTML = dataa.person2; 
     
  } 
 
  document.getElementById("1name1").innerHTML = arvvoja[0]; 
  document.getElementById("2name1").innerHTML = arvvoja[1]; 
 
  //-----  
  document.getElementById("id").innerHTML = dataa.id; 
} 
 
function paivitaselekt(dataa, arvvoja) { 
  for (var i = 0; i < dataa.length; i++) { 
    var valitse = document.getElementById("Select"); 
    var option = document.createElement("option"); 
    arvvoja.forEach((value) => { 
      option.textContent += dataa[i][value] + " "; 
    }); 
    valitse.appendChild(option); 
  } 
} 
 
animals = { 
  "animal": "tiger", 
  "animal2": "lion", 
  "id": "54321", 
  "dole": { 
    "Key": "fhd699f" 
  } 
} 
 
paivitys(animals, animalCols); 
let kokoarray; 
 
people = [{ 
    "person": "kaka", 
    "person2": "julle", 
    "id": "9874", 
  }, 
  { 
    "person": "Ronaldo", 
    "person2": "jussi", 
    "id": "65555", 
  } 
] 
kokoarray = people; 
paivitaselekt(kokoarray, ["person", "id"]); 
 
document.getElementById("Select").addEventListener("change", function(event) { 
  const otettutunnsite = event.target.value.split(" ")[1]; 
  const otettutieto = kokoarray.filter((dataa) => dataa.id === otettutunnsite)[0]; 
  paivitys(otettutieto, peopleCols); 
}); 
<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="UTF-8" /> 
    <meta name="viewport" content="width=device-width" /> 
    <link 
      rel="stylesheet" 
      href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" 
    /> 
    <link 
      rel="stylesheet" 
      href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" 
      integrity="sha384UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" 
      crossorigin="anonymous" 
    /> 
    <style> 
 
    </style> 
  </head> 
  <body> 
  
<div class=""> 
  <table class="table "> 
    <thead> 
      <tr> 
        <th   id="1name1" class="table-success">Animal</th> 
        <th   id="2name1" class="table-success">Animal</th> 
        <th   class="table-success">id</th> 
      </tr> 
    </thead> 
    <tbody> 
      <th id="1name"></th> 
      <th id="2name"></th> 
      <th id="id"></th> 
    </tbody> 
  </table> 
 
  <select id="Select" ></select> 
  <button onclick="myFunction()">backtozero</button> 
</div> </body> 
</html> 

1 Ответ

1 голос
/ 18 апреля 2020

Используйте другую переменную во внутренней l oop:

var i, j;
for (i = 0; i < dataa.length; i++) { 
    var valitse = document.getElementById("Select"); 
    var option = document.createElement("option"); 
    for (j = 0; j < arvvoja.length; j++) { 
       option.textContent += dataa[i][arvvoja[j]] + " "; 
    } 
    valitse.appendChild(option); 
} 
...