javascript - 在 JavaScript 中检查数组的数据类型和空值
问题描述
我正在尝试根据数据类型输出一个字符串。我遇到了数组和空值的问题。这是我走了多远:
let result = ''
switch (typeof(data)) {
case 'string':
result += 'String!'
break
case Array:
result += 'Array!'
break
case 'null':
result += 'Null!'
break
return result
如何在 switch 语句中检查这些数据类型?
解决方案
typeof 在将它与数组或 null 一起使用时返回“object”,因此您不能使用它来测试数组或 null。我建议使用Array.isArray(data)
它来检查它是否是一个数组,并data === null
检查它是否为空。显然,这不太适合 switch 语句,所以我建议不要在这种情况下使用 switch 语句。
推荐阅读
- normalization - 使用 Data Fusion 将 BigQuery 表(源,包含 ARRAY/STRUCT)通过将“Wrangler”转换为相应的“规范化”BigQuery 表
- angular - 如何使用 RxJs 将两个 Observable 组合成一个 Observable Array
- mysql - SQL:连接两个表之间的外键并仅返回项目数;不是实际项目
- tensorflow - nvcc 错误:使用 bazel 构建 tensorflow 时,'cicc' 以状态 0xC0000005 (ACCESS_VIOLATION) 死亡
- django - Django + MongoDB - pymongo.errors.ServerSelectionTimeoutError
- session - 在 ASP.NET Core 中使用 Response.Redirect 时,临时数据/会话始终为空
- angular - 在设置值之前等待方法完成
- if-statement - 涉及 Vlookup 和 IFNA 的多个 If 条件
- docker - 将多个 .yml 文件传递给 docker-compose
- javascript - 禁用按钮后不再执行 JavaScript