我有一个js片段,用
生成一个表格行td s如下
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中的单元格长度(函数(coldata)。嗯不确定这种方法是否能够实现它
答案 0 :(得分:2)
Map会注入另外两个您当前未使用的参数。完整的回调签名是(element,index,wholeArray)。然后,您可以在数组上调用.length并将其与当前元素索引进行比较。
答案 1 :(得分:2)
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>;
});