Предполагая, что все, что вам нужно, чтобы получить первые/вторые ячейки каждой строки в виде пар ключ/значение, вы можете использовать .reduce()
для перебора строк и просто захватить текстовое содержание .cells[0]
и .cells[1]
использовать как каждый ключ/значение пары:
var t = document.querySelector("table");
var j = [].reduce.call(t.rows, function(res, row) {
res[row.cells[0].textContent.slice(0,-1)] = row.cells[1].textContent;
return res
}, {});
document.querySelector("pre").textContent = JSON.stringify(j, null, 2);
<table>
<tr>
<th>Name:</th>
<td>Carlos</td>
</tr>
<tr>
<th>Age:</th>
<td>22</td>
</tr>
</table>
<pre></pre>
Array.prototype.reduce
метод принимает коллекцию и использует аккумулятор, чтобы уменьшить его вниз к тому, что государство вы хотите. Здесь мы просто сводим его к объекту, поэтому мы передаем один из них после обратного вызова.
Для каждой строки мы используем содержимое первой ячейки как ключ объекта, а содержимое второй ячейки - как значение. Затем мы возвращаем объект из обратного вызова, чтобы он возвращался к нам на следующей итерации.
И наконец, .reduce()
возвращает последнее, что мы вернули (это, конечно, объект, с которого мы начали), и это ваш результат.
, что результат не сценарий GitHub в настоящее время дать вам? – Markasoftware
Наверное, проще всего превратить его в объект и использовать * JSON.stringify *. Эти данные не кажутся табличными, есть ли еще больше? – RobG
Вы хотели бы поместить данные в столбцы вместо строк? – Markasoftware