TypeScript 中检查 Value 是否是(类型)数组
要检查一个值是否是 TypeScript 中特定类型的数组:
-
使用
Array.isArray()
方法检查值是否为数组。 - 遍历数组并检查每个值是否属于特定类型。
const arr: string[] = ['a', 'b', 'c'];
const isArray = Array.isArray(arr); // 👉️ true
if (Array.isArray(arr)) {
const isStringArray =
arr.length > 0 &&
arr.every((value) => {
return typeof value === 'string';
});
console.log(isStringArray); // 👉️ true
}
我们可以使用 Array.isArray
方法检查值是否为 TypeScript 中的数组。
console.log(Array.isArray([])); // 👉️ true
console.log(Array.isArray({})); // 👉️ false
console.log(Array.isArray('hello')); // 👉️ false
该方法将一个值作为参数并返回一个布尔结果 - 如果该值是一个数组则返回 true,否则返回 false。
如果需要检查值是否为特定类型的数组,则必须遍历数组的元素并检查每个元素是否为特定类型。
我们使用 Array.every()
方法遍历数组。
我们传递给 every
方法的函数会针对每个元素调用,直到它返回一个虚假值或遍历整个数组。
const arr: string[] = ['a', 'b', 'c'];
if (Array.isArray(arr)) {
const isStringArray =
arr.length > 0 &&
arr.every((value) => {
return typeof value === 'string';
});
console.log(isStringArray); // 👉️ true
}
请注意
,我们做的第一件事是检查数组是否不为空。
无论实现的条件如何,在空数组上调用
every()
方法将始终返回 true。
这就是我们检查数组是否有超过 0 个元素的原因——以避免任何误报。
如果我们传递给 every
方法的回调函数在所有迭代中都返回 true,则 every 方法也将返回 true。
这是检查数组中的所有元素是否都属于特定类型的唯一方法。
如果我们不是从远程源获取数组,例如 一个 API,并且我们使用的是 TypeScript,我们几乎可以假设该数组包含预期类型的元素,除非我们在使用该数组时使用 any
或类型断言。
相关文章
将 NumPy 数组转换为 Pandas DataFrame
发布时间:2024/04/21 浏览次数:111 分类:Python
-
本教程介绍了如何使用 pandas.DataFrame()方法从 NumPy 数组生成 Pandas DataFrame。
如何将 Pandas Dataframe 转换为 NumPy 数组
发布时间:2024/04/20 浏览次数:176 分类:Python
-
本教程介绍如何将 Pandas Dataframe 转换为 NumPy 数组的方法,例如 to_numpy,value 和 to_records
在 Python 中将 Tensor 转换为 NumPy 数组
发布时间:2024/03/12 浏览次数:131 分类:Python
-
在 Python 中,可以使用 3 种主要方法将 Tensor 转换为 NumPy 数组:Tensor.numpy()函数,Tensor.eval()函数和 TensorFlow.Session()函数。
在 Python 中将 CSV 读取为 NumPy 数组
发布时间:2024/03/12 浏览次数:133 分类:Python
-
本教程演示如何在 Python 中将 CSV 读取为 NumPy 数组。