首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于在TypeScript中显示值的Foreach数组

用于在TypeScript中显示值的Foreach数组
EN

Stack Overflow用户
提问于 2018-06-18 07:20:27
回答 1查看 248关注 0票数 2

我正在尝试创建一个PDF,其中的数据是从数据库中提取的。下面是我如何在TypeScript中做变量声明。

代码语言:javascript
复制
essay = {
    "title": "",
    "author": { "fullname": "" },
    "intro": "",
    "conclusion": "",
    "paragraphs": [ { "paragraph": "" } ]
}

正如您在这里看到的,段落是数组的类型。因此,当触发生成PDF的按钮时,将调用下面的函数。

代码语言:javascript
复制
CreatePdf(){
    var docDefinition = {
      content: [
        { text: this.essay.title, style: 'header' },
        { text: new Date().toTimeString(), alignment: 'right' },

        { text: 'Written By : '+this.essay.author.fullname, style: 'subheader' },

        { text: this.essay.intro, style: 'story', margin: [0, 20, 0, 20] },

        // Foreach essay.paragraphs and display the value

        { text: this.essay.conclusion, style: 'story', margin: [0, 20, 0, 20] }
      ]
    }
    this.pdfObj = pdfMake.createPdf(docDefinition);
    this.pdfObj.download();
}

问题是,我将如何在content:[]中显示所有段落的值?我试图在内容中应用下面的循环,但做不到。

代码语言:javascript
复制
for(let parag of this.essay.paragraphs){
  console.log(parag.paragraph);
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-18 07:32:44

您可以使用...运算符和map()来完成它。

代码语言:javascript
复制
CreatePdf(){
    var docDefinition = {
      content: [
        { text: this.essay.title, style: 'header' },
        { text: new Date().toTimeString(), alignment: 'right' },

        { text: 'Written By : '+this.essay.author.fullname, style: 'subheader' },

        { text: this.essay.intro, style: 'story', margin: [0, 20, 0, 20] },

        ...this.essasy.paragraphs.map( p => {
            return {text: p.paragraph, style: 'story', margin: [0, 20, 0, 20]};
        }),

        { text: this.essay.conclusion, style: 'story', margin: [0, 20, 0, 20] }

      ]
    }
    this.pdfObj = pdfMake.createPdf(docDefinition);
    this.pdfObj.download();
}

顾名思义,map()使用赋予它的函数映射每个元素,而...只是简单地扁平了一个数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50904395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档