JavaScript数组映射函数如何确定当前项的长度和索引

标签 javascript jquery html

我有一个用

生成表格行的 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/

相关文章:

javascript - Bootstrap 3.3.5 日期选择器不工作

html - CSS 链接中的媒体 ="print"是什么意思?

javascript - 使用 Chart.js 堆叠条形图中的空白

javascript - 高性能 - 在对键进行排序时将对象转换为数组

javascript - 为什么下面的测试没有通过?

javascript - 平滑滚动 div 到 div

javascript - Linux 因内存不足而终止我的进程,如何查看我使用了多少?

php - jEditable 选择数据源

javascript - 在动态加载的多个选择框中填充值

jquery - 调试并绕过禁用网页上的文本选择