我有一个用
生成表格行的 js 片段td如下
var cols = this.props.cols;
data = this.state.data
return data.map(function (item) {
var cells = cols.map(function (colData) {
console.log(colData);
return <td>{item[colData.key]}</td>;
});
return <tr key={item.Id }>{cells}</tr>;
});
我想确定最后一列并添加一个特定 td 的按钮 如何获取 cols.map(function(coldata) 中单元格的长度。嗯,不确定是否能够通过这种方法完成它
最佳答案
像这样的东西会起作用。正如 yaycmyk 提到的,您的 map 函数可以接受 3 个参数。
1. the iterated item
2. the index of the item
3. the array that is being iterated on.
我只是比较索引和长度 - 1
return data.map(function (item) {
var cells = cols.map(function (colData, idx, arr) {
return (idx === arr.length -1)
? <td><button /></td>
: <td>{item[colData.key]}</td>;
});
return <tr key={item.Id }>{cells}</tr>;
});
关于JavaScript数组映射函数如何确定当前项的长度和索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38627560/