首页 > 解决方案 > 我有多种类型的变量作为返回类型。如何检查变量是否具有 string[] 类型

问题描述

public RowData: PricingOrder[] | Notification[] | ActionLog[] | string[];

如果RowDatastring[]类型 ( Ex-RowData = ['cat','dog','anyother'];)

if(RowData === string[] type ){
  //perform some string array related operation
 } else {
  //perform custom class array related operation
}

标签: javascriptangulartypescript

解决方案


根据您的评论,您的数组不是组合类型。所以你只需要检查两件事:

  1. 拳头你的结果是数组?
  2. 数组的第一个值的第二种类型。

var srray = ["a","b"];

let isArrayStringType = false;

if(Array.isArray(srray)){
   isArrayStringType = srray.length > 0 && typeof srray[0] == 'string'
}

console.log(isArrayStringType)

更新

您的函数的返回类型不包括string类型,因此您可以轻松检查第二个:typeof srray[0] == 'string'


推荐阅读