Tabulator.js中table.getRows()返回字符串数组而非RowComponents问题
问题原因及解决方法
你遇到的问题并不是getRows()返回了字符串数组,而是**for...in循环的特性导致的误解**:
getRows()实际上返回的是RowComponent对象组成的数组,并非字符串数组。for...in循环遍历的是数组的索引键名(数组本质是特殊对象,索引是它的字符串类型键),所以你看到的0、1、2是数组的索引,而非数组元素本身,typeof row显示字符串也正是因为索引的类型是字符串。
要正确获取并遍历RowComponent对象,你需要用遍历数组元素的方式,比如:
正确遍历方式示例
- 使用
for...of循环(推荐)
const rows = table.getRows(); for (const row of rows) { console.log(row); // 这里输出的是RowComponent对象 }
- 使用
forEach方法
table.getRows().forEach(row => { console.log(row); });
- 使用普通
for循环
const rows = table.getRows(); for (let i = 0; i < rows.length; i++) { console.log(rows[i]); }
内容的提问来源于stack exchange,提问作者Tetris Maniac
相关产品推荐
相关产品推荐

