Если вам нужен функциональный стиль, например:
const table = document.getElementById("mytab1");
const cells = table.rows.toArray()
.flatMap(row => row.cells.toArray())
.map(cell => cell.innerHTML); //["col1 Val1", "col2 Val2", "col1 Val3", "col2 Val4"]
Вы можете изменить объект-прототип HTMLCollection (позволяющий использовать способ, похожий на методы расширения в C #) и встроить в негофункция, которая преобразует коллекцию в массив, позволяя использовать функции более высокого порядка с указанным стилем (вид стиля linq в C #):
Object.defineProperty(HTMLCollection.prototype, "toArray", {
value: function toArray() {
return Array.prototype.slice.call(this, 0);
},
writable: true,
configurable: true
});