📅  最后修改于: 2023-12-03 15:01:45.626000             🧑  作者: Mango
Javascript是一种动态类型语言,也就是说变量的类型在运行时才能确定。因此,我们需要在代码中确定数组的类型以确保代码的正确性。
以下是判断一个变量是否为数组的方法:
Array.isArray(variable)
使用该方法,我们可以得到一个布尔值表示该变量是否为数组。
示例代码:
const arr1 = [1, 2, 3];
console.log(Array.isArray(arr1)); // true
const arr2 = 'not an array';
console.log(Array.isArray(arr2)); // false
如果我们想要判断一个数组中所有元素类型是否一致,可以使用以下方法:
const allSameType = arr.every((value) => typeof value === typeof arr[0]);
使用该方法,我们可以遍历数组,判断每个元素的类型是否与第一个元素的类型一致,得到一个布尔值表示是否所有元素类型都一致。
示例代码:
const arr3 = [1, 2, 3];
const arr4 = [1, '2', 3];
const allSameType1 = arr3.every((value) => typeof value === typeof arr3[0]);
console.log(allSameType1); // true
const allSameType2 = arr4.every((value) => typeof value === typeof arr4[0]);
console.log(allSameType2); // false
如果我们想要判断一个数组中所有元素类型是否都为某个特定类型,可以使用以下方法:
const allTypeSame = arr.every((value) => value instanceof Type);
使用该方法,我们可以遍历数组,判断每个元素是否为指定类型的实例,得到一个布尔值表示是否所有元素类型都为指定类型。
示例代码:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
const arr5 = [new Person('Alice', 20), new Person('Bob', 30)];
const arr6 = [new Person('Charlie', 40), { name: 'David', age: 50 }];
const allTypeSame1 = arr5.every((value) => value instanceof Person);
console.log(allTypeSame1); // true
const allTypeSame2 = arr6.every((value) => value instanceof Person);
console.log(allTypeSame2); // false
以上是判断数组类型的方法,希望能对你的开发工作有所帮助!