2015-05-28 18 views
0

的匹配對象的關鍵:'mykey'檢查,無論給定一個關鍵資本

並考慮對象:Object {Mykey: "some value", ...}

,並使用以下if (key in myObject)語法檢查匹配...

如何我可以檢查匹配的字符串,不管大寫字母嗎?

例如:關鍵mykey應在即使M是大寫的對象相匹配Mykey


我知道一個函數來做到這一點的:How to uppercase Javascript object keys?

我一直在尋找,看看是否有另一種方式。

+0

你不能,你在問如何創建一個函數來做到這一點? – adeneo

+0

您的檢索功能將接受基於任意邏輯墊片的地圖中的潛在衝突。我不認爲這是一個內置的功能,你最好打賭可能是將其作爲一個自定義函數插入(例如@adeneo給出的例子)並從中繼承。 –

回答

2

您可以創建一個具有這樣的功能,有沒有本地不區分大小寫的方式來檢查的關鍵是在使用像

var obj = {Mykey: "some value"} 
var exists = isKey('mykey', obj); // true 
0

對象

function isKey(key, obj) { 
    var keys = Object.keys(obj).map(function(x) { 
     return x.toLowerCase(); 
    }); 

    return keys.indexOf(key.toLowerCase()) !== -1; 
} 

遵循這個例子

var myKey = 'oNE'; 
var text = { 'one' : 1, 'two' : 2, 'three' : 3}; 
for (var key in text){ 
if(key.toLowerCase()==myKey.toLowerCase()){ 
//matched keys 
    console.log(key) 
}else{ 
//unmatched keys 
    console.log(key) 
} 

} 

JavaScript: case-insensitive search

相關問題