2016-10-29 2 views
0

У меня возникли проблемы с созданием PDF-файла, где я могу динамически переносить данные из массива, например, для цикла. Длина массива может быть разной каждый раз, поэтому я не буду писать только для одного размера массива.PDFMake - сделать PDF из динамического содержимого (массив)

Существует пример того, что я могу сделать:

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'} 
    ] 
} 

Но я хотел бы сделать что-то вроде этого:

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

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

Я знаю, что вторая часть кода ДАЕТ НИКАКИХ но он показывает, что я хочу делать.

Есть ли способ, как это достичь?

+0

как он стоит, этот вопрос не имеет ничего общего с [тег: JQuery] [тег: HTML] [теги: PDF] и [теги: pdfmake] –

ответ

1

Вы можете использовать Array#map, как этот

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

var dd = { 
    content: stuff.map(function(item) { 
     return { text: item, pageBreak: 'after'} 
    }) 
}; 
+0

Это то, что я искал, спасибо! –

Смежные вопросы