在 TypeScript 中将字符串和字符串数组都转换为一维字符串数组

用户1675891

免责声明:我觉得这可能被理解为一个简单的“我如何展平数组”或“如何对字符串进行数组化”。这不是那种类型的问题。(现在,我觉得有人应该已经问过了,尽管有上述问题,但我没有幸运地找到它。

在我的代码中,我可以接收带有消息的字符串或带有消息的字符串数组。这是一个我无法改变的糟糕设计。为了向用户呈现所有消息(无论是单个消息还是一堆消息),我正在执行以下操作。

let data = error.value;
if (typeof (data) === "string")
  data = [data];
data.forEach(_ => this.messages.push({ type: "danger", contents: _ }));

我觉得这个守卫不方便使用 if 来检查它是否不是数组并使其如此。我更希望看到将字符串转换为数组,将数组转换为矩阵,然后将它们映射到一维数组(即平衡维度)的东西。

我将如何将数组展平为 X 维(而不是将数组展平为Y 维

例子:

“噗”-> [“噗”]

尽管

[“噗”,“摇”,“屋顶”] -> [“噗”,“摇”,“屋顶”]

马约洛

您可以使用Array.isArray()并执行以下操作:

let data = Array.isArray(error.value) ? error.value : [ error.value ];
data.forEach(contents => this.messages.push({ type: "danger", contents }));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Typescript:将ObjectId或字符串的数组并集转换为字符串数组

将字符串数组转换为TypeScript类型

在 Typescript 中,如何将字符串转换为字符串数组?

在TypeScript中将对象数组转换为字符串数组

如何在TypeScript中将数组的每个字符串转换为数组中的Object?

如何在Typescript中将字符串转换为字符串文字类型?

在 TypeScript 中将字符串转换为枚举

在TypeScript中将数字转换为字符串

在TypeScript中将数字转换为字符串

在Typescript中将int转换为枚举字符串

如何在TypeScript中将字符串转换为数字?

如何在TypeScript中将字符串转换为枚举?

如何在Typescript中将字符串转换为枚举

Angular Typescript将数组从字符串转换为货币和百分比

TypeScript中的数组与字符串声明

字符串返回数组的Typescript键

承诺的字符串数组的Typescript声明

在JavaScript / Typescript中将字符串数组转换为对象的最里面的子对象为空数组

TypeScript字符串联合到字符串数组

如何在Typescript中转换字符串数组

使用 typescript 或 javascript 将对象数组转换为字符串数组

使用Typescript将对象的JSON数组转换为字符串数组

如何使用 JavaScript/TypeScript 将字符串转换为数组

Typescript 函数接受单个字符串或字符串数组

将 Typescript 类转换为字符串?

Typescript接口属性转换为字符串

TypeScript 将布尔值转换为字符串

Typescript,'NodeListOf <Element>'不是数组类型或字符串类型

Typescript将数组的特定属性连接为字符串