Показать сообщение отдельно
  #1 (permalink)  
Старый 22.04.2023, 15:55
Новичок на форуме
Отправить личное сообщение для lnnansy Посмотреть профиль Найти все сообщения от lnnansy
 
Регистрация: 22.04.2023
Сообщений: 1

При переборе значений Dom не работает push()
есть код

const xmlString = `
<list>
<student>
<name lang="en">
<first>Ivan</first>
<second>Ivanov</second>
</name>
<age>35</age>
<prof>teacher</prof>
</student>
<student>
<name lang="ru">
<first>Петр</first>
<second>Петров</second>
</name>
<age>58</age>
<prof>driver</prof>
</student>
</list>
`;
const parse = new DOMParser();
const xmlDOM = parse.parseFromString(xmlString,"text/xml");
//console.log(xmlString);
const listNode = xmlDOM.querySelectorAll("student");
let Arr = [], list = {};
let i=0;

var div_array = [...listNode];
listNode.forEach(student =>{



const age1 = student.querySelector("age").textContent;
const prof1 = student.querySelector("prof").textContent;
const name1 = student.querySelector("first").textContent + " " + student.querySelector("second").textContent;
console.log(age1, prof1, name1);
const langAttr1 = student.querySelector("name").getAttribute("lang") ;
list.name = name1;
list.prof = prof1;
list.age = age1;
list.lang = langAttr1;
console.log(list);
console.log("----------");
Arr.push(list);
console.log(Arr);


});


функция Arr.push(list); должна добавлять в пустой массив 2 значения : но добавляет одно и то же 2 раза вместо 2-х разных. Подскажите пожалуйста что не так.
Ответить с цитированием