检查数组的所有值是否属于同一类型

Sac*_*cha 0 javascript arrays

有没有一种好方法可以检查数组中的所有项目是否属于同一类型?

这样做的东西:

[1, 2, 3, 4]  // true
[2, 3, 4, "foo"] // false
Run Code Online (Sandbox Code Playgroud)

Pau*_*aul 5

您可以从数组中每个元素的类型创建一个Set并确保它最多有一个元素:

console.log( allSameType( [1,2,3,4] ) );
console.log( allSameType( [2,3,4,"foo"] ) );

function allSameType( arr ) {
  return new Set( arr.map( x => typeof x ) ).size <= 1;
}
Run Code Online (Sandbox Code Playgroud)