【问题标题】:How to define an array of strings in TypeScript interface?如何在 TypeScript 接口中定义字符串数组?
【发布时间】:2022-03-23 09:57:04
【问题描述】:

我有一个这样的对象:

{
  "address": ["line1", "line2", "line3"]
}

如何在接口中定义address?数组的元素个数不固定。

【问题讨论】:

标签: typescript


【解决方案1】:
interface Addressable {
  address: string[];
}

【讨论】:

  • 为一个命名良好的界面点赞。
  • 作为扩展,如果你有一个自定义界面,可以说Customer,并且你需要有另一个应该有List的父界面,那么它就像Customer[]
【解决方案2】:

数组是一种特殊的数据类型,可以使用特殊的语法顺序存储多个不同数据类型的值。

TypeScript 支持数组,类似于 JavaScript。声明数组有两种方式:

  1. 使用方括号。此方法类似于在 JavaScript 中声明数组的方式。
let fruits: string[] = ['Apple', 'Orange', 'Banana'];
  1. 使用通用数组类型 Array。
let fruits: Array<string> = ['Apple', 'Orange', 'Banana'];

两种方法产生相同的输出。

当然,你总是可以像下面这样初始化一个数组,但你不会得到 TypeScript 类型系统的优势。

let arr = [1, 3, 'Apple', 'Orange', 'Banana', true, false];

Source

【讨论】:

    【解决方案3】:

    就这么简单:

    address: string[]
    

    【讨论】:

      【解决方案4】:

      或者:

      { address: Array<string> }
      

      【讨论】:

        【解决方案5】:

        我认为最好的方法是:type yourtype = { [key: string]: string[] }

        【讨论】:

          猜你喜欢
          • 2020-12-11
          • 1970-01-01
          • 2022-11-01
          • 2021-04-15
          • 2012-12-10
          • 2019-04-26
          • 1970-01-01
          • 2017-12-24
          • 2018-04-01
          相关资源
          最近更新 更多