查找数组javascript中包含的元素类型

时间:2015-04-06 05:35:52

标签: javascript arrays

我想了解一些函数(如果有的话)或库,它们可以提供直接函数来查找数组中元素的类型。

假设我有一个包含相同数据类型元素的数组:

var sameArray = [1, 2, 3, 4];
var diffArray = ['a', 'b', 'c', 4];

sameArray.itemPrototype();  // Returns int
diffArray.itemPrototype();  // Returns undefined

对于第一个数组,它应该返回int,而第二个数组应该返回undefinedfalse

1 个答案:

答案 0 :(得分:2)

对于具有基元(如数字,字符串)的数组,您可以使用一种简单的方法:

function getItemsType(arr) {
  var itemType, i;

  for (i=0; i < arr.length; i++) {
    if (typeof itemType === 'undefined') {
      itemType = typeof arr[i];
    } else if (itemType !== typeof arr[i]) {
      return undefined;
    }
  }

  return itemType;
}

在此jsbin中,您将找到一个功能实现并集成到Array.prototype