Javascript React/JS/TS-将动态数据映射到重复的表? const keys=data.getUser.keys; console.log(键) for(设i=0,l=keys.length;i ({ 单元格:[ {content:${key昵称},key:${rowId}}, {content:${keyExchange},key:${rowId}}, {content:${keyLivenet},key:${rowId}}, ], }); 变量行=键。映射((a:number)=> createRow(a,键[i]['昵称]],键[i]['exchange'],键[i]['livenet'])) ); }

Javascript React/JS/TS-将动态数据映射到重复的表? const keys=data.getUser.keys; console.log(键) for(设i=0,l=keys.length;i ({ 单元格:[ {content:${key昵称},key:${rowId}}, {content:${keyExchange},key:${rowId}}, {content:${keyLivenet},key:${rowId}}, ], }); 变量行=键。映射((a:number)=> createRow(a,键[i]['昵称]],键[i]['exchange'],键[i]['livenet'])) ); },javascript,arrays,typescript,Javascript,Arrays,Typescript,我离得很近,但离得很远。我只是不确定如何正确地将数据映射到三行 任何帮助都将是非常棒的,我正在努力学习(我一直都是)。不过,我很想解决这个问题,这样我就可以在整个应用程序中创建其他表了 编辑:按要求整页: 常量耳机=['昵称','Exchange','Livenet']; 警察局长={ 单元格:headSet.map(headSet=>({ 按键:耳机, 内容:耳机, 应该截断:是的, 是的, })), }; const keys=data.getUser.keys; console.log(

我离得很近,但离得很远。我只是不确定如何正确地将数据映射到三行

任何帮助都将是非常棒的,我正在努力学习(我一直都是)。不过,我很想解决这个问题,这样我就可以在整个应用程序中创建其他表了

编辑:按要求整页:


常量耳机=['昵称','Exchange','Livenet'];
警察局长={
单元格:headSet.map(headSet=>({
按键:耳机,
内容:耳机,
应该截断:是的,
是的,
})),
};
const keys=data.getUser.keys;
console.log(键)
for(设i=0,l=keys.length;i ({
单元格:[
{content:${key昵称},key:${rowId}},
{content:${keyExchange},key:${rowId}},
{content:${keyLivenet},key:${rowId}},
],
});
变量行=键。映射((a:number)=>
createRow(a,键[i]['昵称]],键[i]['exchange'],键[i]['livenet']))
);  
}
返回(
连接
console.log('onSort')}
onSetPage={()=>console.log('onSetPage')}
rowsPerPage={!keys.length?10:未定义}
/>  
);
}
导出默认密钥;

能否提供此页面的完整源代码?这被标记为react,但是您没有包含任何JSX,所以我不确定您是否打算这样做。我在下面举了一个例子,但我不知道您导入的数据的结构

const keys = data.getUser.keys
   
function TodosList(keys){

const renderRow = () => {
    return keys.map(function(key, i){
        return(
            <tr>
                <td>{key.keyNickname}</td>
                <td>{key.keyExchange}</td>
                <td>{key.keyLivenet}</td>
            </tr>
             )
         })
    }

return(
    <div><h3>Key List?</h3>
    <table className="table table-striped" style={{ marginTop: 20 }}>
        <thead>
            <tr>
                <th>Heading 1</th>
                <th>Heading 2</th>
                <th>Heading 3</th>
            </tr>
        </thead>
        <tbody>
            {renderRow()}
        </tbody>
    </table>
    </div>
)
}

export default TodosList
const keys=data.getUser.keys
函数todoList(键){
const renderRow=()=>{
返回键.map(函数(键,i){
返回(
{key.key昵称}
{key.keyExchange}
{key.keyLivenet}
)
})
}
返回(
关键清单?
标题1
标题2
标题3
{renderRow()}
)
}
将默认值导出到文档列表

您正在向map函数传递错误的参数。更干净的方法是:

var rows = keys.map((key: any, i: number) => 
  createRow(i, key.nickname, key.exchange, key.livenet)
);
Array.prototype.map
接受一个带有两个参数的函数。第一个是数组迭代时的每个元素。第二个是数组中元素的索引


在代码中,您A)缺少第一个参数,B)在处理索引时将函数中的“A”误认为“i”。

非常感谢您的解释!这确实解决了这个问题,并帮助我更多地理解这个混乱的问题:)