PDFMake - 从动态内容(数组)制作 PDF

Pet*_*čka 1 javascript pdf pdfmake

我在创建 PDF 文件时遇到问题,我可以在其中动态地放置数组中的数据,例如使用 for 循环。数组的长度每次都可能不同,所以我不可能只写一种大小的数组。

有一个我能做的例子:

var stuff = [
        'aaaaaaaaaaaaaaaaaaa',
        'bbbbbbbbbbbbbbbbbbb',
        'ccccccccccccccccccc',
        'ddddddddddddddddddd'
    ]
var dd = {
    content: 
    [
        {text: stuff[0], pageBreak: 'after'},
        {text: stuff[1], pageBreak: 'after'},
        {text: stuff[2], pageBreak: 'after'},
        {text: stuff[3], pageBreak: 'after'}
    ]
}
Run Code Online (Sandbox Code Playgroud)

但我很想做这样的事情:

var stuff = [
        'aaaaaaaaaaaaaaaaaaa',
        'bbbbbbbbbbbbbbbbbbb',
        'ccccccccccccccccccc',
        'ddddddddddddddddddd'
    ]

var dd = {
    content: 
    [
        for(var i=0;i<stuff.length;i++){
          {text: stuff[i], pageBreak: 'after'}        
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我知道第二段代码没有任何意义,但它显示了我想要做的事情。

有什么办法可以做到这一点吗?

Jar*_*a X 5

你可以使用Array#map,像这样

var stuff = [
    'aaaaaaaaaaaaaaaaaaa',
    'bbbbbbbbbbbbbbbbbbb',
    'ccccccccccccccccccc',
    'ddddddddddddddddddd'
];

var dd  = {
    content: stuff.map(function(item) {
        return { text: item, pageBreak: 'after'}
    })
};
Run Code Online (Sandbox Code Playgroud)