我需要遍历一个数组,但该语句位于方括号[]
之间但是不允许在括号之间放置for语句,因此会产生SyntaxError: missing 'of' after for
在互联网上搜索,我发现array.map()可能是一个解决方案。 但是,我无法在多维数组上找到array.map的示例,并且无法使我的代码生效。
下面的示例创建一个表并将其导出为pdf文件。 这可以正常工作,但仅适用于静态表:
var docDefinition = {
content: [
{
table: {
body: [
[ 'First', 'Second', 'Third', 'The last one' ],
[ 'Value 1', 'Value 2', 'Value 3', 'Value 4' ],
[ 'Val 1', 'Val 2', 'Val 3', 'Val 4' ]
]
}
}
]};
我需要代码才能用于动态表。 我正在尝试从数组创建一个表,无法让它正常工作。 这就是我到目前为止所做的:
function html2Pdf(){
var arr = [[ 'First', 'Second', 'Third', 'The last one' ],[ 'Value 1', 'Value 2', 'Value 3', 'Value 4' ],[ { text: 'Bold value', bold: true }, 'Val 2', 'Val 3', 'Val 4' ]];
var docDefinition = {
content: [
{
table: {
body: [
arr.map(function(item){
return item
})
]
}
}
]
};
pdfMake.createPdf(docDefinition).open();
}
答案 0 :(得分:5)
如前所述,直接将给定数组注入到结果结构中是非常好的。
table: { body: arr }
关于如何在二维数组上使用数组映射的问题:您可以像使用for循环或类似方法一样嵌套它。
body: arr.map( function( row ) { return row.map( function( cell ) { return foo( cell ); } ); } )