无论大写,检查对象中的匹配键

Check for matching key in object regardless of capitalization

给定一个密钥:'mykey'

并给定一个对象:Object {Mykey: "some value", ...}

并使用以下 if (key in myObject) 语法检查匹配...

如何不考虑大写字母来检查匹配的字符串?

例如:键 mykey 应该与对象中的 Mykey 匹配,即使 M 是大写的。


我知道一个函数可以做到这一点:How to uppercase Javascript object keys?

我正在寻找是否有其他方法。

您可以创建一个函数来执行此操作,没有原生的不区分大小写的方法来检查某个键是否在对象中

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

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

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

按照这个例子

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