繁体   English   中英

如何将array.map与二维数组一起使用

[英]How to use array.map with a 2-dimensional array

我需要遍历一个数组,但该语句位于方括号[]之间

但是,不允许在括号之间放置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' ]
    ]
  }
}
]};

JSFiddle

我需要用于动态表的代码。 我正在尝试从数组创建表,无法使其正常工作。 这是我到目前为止的内容:

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();
}

JSFiddle

如前所述,可以将给定数组直接注入到结果结构中。

table: {
    body: arr
  }

关于您如何在二维数组上使用数组映射的问题:您可以像使用for循环或类似方法一样完全嵌套它。

body: arr.map( function( row ) {
    return row.map( function( cell ) { 
        return foo( cell ); 
    } );
} )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM