ember.js 如何将类型分配给字符串输入作为要推送的对象

eivnm1vs  于 2022-11-05  发布在  其他
关注(0)|答案(2)|浏览(98)

我有一个forEach函数,它接受一个字符串并推一个对象。我该如何正确地输入这个函数呢?

const descriptionText: string = this.args.post.description || '';
const descriptionParts: string[] = descriptionText.split(/\s+/g);
let parsedDescriptionParts: object[] = [];

descriptionParts.forEach((text: string) => {
    let parts = {
       text,
       isLink: false
    }
    if (text.match('^(#|@)')) {
       parts = {
          text: `<span class=${this.boldClass}>${text}</span>`,
          isLink: true
       };
    }
    parsedDescriptionParts.pushObject(parts);
});

return parsedDescriptionParts;
dluptydi

dluptydi1#

在我看来,forEach从来没有输出。
这是lib.es5.d.tsforEach的定义

forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void;

也许你喜欢的类型是:(string) => void

bksxznpy

bksxznpy2#

let descriptionParts: string[] = ['hello', '#goodbye']                                                                                     
let boldClass: string = 'abc'

let parsedDescriptionParts: object[] = descriptionParts
  .map(text => text.match('^(#|@)')
    ? { text: `<span class=${boldClass}>${text}</span>`, isLink: true }
    : { text, isLink: false }
  )

console.log(parsedDescriptionParts)

相关问题