pdfmake как сделать цикл

153
21 ноября 2018, 16:00

Есть библиотека под названием pdfmake, так вот, вывод текста в pdf файл делается следующим образом:

{
  text: "текст 1 строки"
},
{
  text: "текст 2 строки"
}
и тд...

Как видите, для того, чтобы написать текст с новой строки нужно взять его в {} скобки

Так вот, у меня есть двумерный массив a[N][0] и a[N][1] с N количеством значений, например:

a[0][0] = "Hello";
a[0][1] = "World";
a[1][0] = "I am";
a[1][1] = "array";
и тд...

Как мне вывести все значения массива в формате a[N][0]: a[N][1], чтобы каждое из них было на отдельной строчке? Должно быть что-то вроде:

{
  text: "Первая строка"
},
for (var i = 0; i <= N; i++) {
  {
    text: a[i][0] + ": " + a[i][1]
  },
}

В итоге выполнения этого js скрипта должно вывести:

Hello: World
I am: array

Заранее Спасибо

Answer 1

let a=[] 
a[0] = "Hello"; 
a[1] = "World"; 
a[2] = "I"; 
a[3] = "am"; 
a[4] = "array" 
let PDFobject=a.map(line=>{return [{text:line}]}) 
console.log(PDFobject)

Метод .map вызывает переданную первым параметром функцию для каждого элемента массива и возвращает новый массив, состоящий из возвращённых этой функцией значений с каждой из итераций. В функцию передаются три аргумента, с которыми мы можем работать: значение, ключ и сам массив (документация). Дак вот, line является переменной, в которой хранится значение с каждой итерации массива, её название может быть любым. Ещё оптимальнее эта строчка кода могла выглядеть так: a.map(text=>[{text}]), это чудеса синтаксиса JSа, если интересует, могу и её объяснить.

let a=[ 
  ['Сколько копыт у пони?','4'], 
  ['Какое любимое лакомство Селестии?','Тортики'], 
  ['Как называется бутик Рарити в Понивилле?','Карусель'] 
], 
PDFobject=a.map(v=>({text:v[0]+': '+v[1]})) 
console.log(PDFobject)

READ ALSO
Как объединить 2 таблицы MYSQL с id от одной из таблиц?

Как объединить 2 таблицы MYSQL с id от одной из таблиц?

как объединить 2 таблицы с id от одной из таблиц?

165
Данные о загрузке страницы

Данные о загрузке страницы

Возможно ли как-то получить данные об загрузке страницы?

131
Треугольники на концах в header меню на CSS

Треугольники на концах в header меню на CSS

Уважаемые коллегиПодскажите как сделать такие концы меню в хедере

185
Переход на с# под веб: классический asp или core?

Переход на с# под веб: классический asp или core?

Решил перейти с PHP на C# для работы под вебКак я понял, есть 2 актуальных фрейморка, для перехода:

194