2015-04-06 88 views
2

我想知道一些函數(如果有的話)或庫可能提供直接函數來查找數組中元素的類型。查找包含在數組中的元素的類型javascript

假設我有包含相同數據類型的元素的數組:

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

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

對於第一陣列,它應該返回int和用於第二一個或undefinedfalse

+1

什麼是'itemPrototype'?...你寫的任何自定義函數? – 2015-04-06 05:37:37

+1

它只是一個虛擬的名字。我還沒有做任何實施。而且我更喜歡在某些現有庫中使用內置函數。 – 2015-04-06 07:04:08

+0

好的。對於第一個,預期的輸出應該是'int',但作爲第二種情況有多種類型,所以預期的輸出應該是'undefined',正如你所提到的。如果是這種情況,你可以簡單地寫一個自定義函數,可能在其中使用'typeof'。 – 2015-04-06 07:23:50

回答

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

相關問題