关于javascript:检查对象中的匹配键,无论大写

Check for matching key in object regardless of capitalization

给定密钥:'mykey'

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

并使用下面的if (key in myObject)语法检查是否匹配…

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

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

我知道一个这样做的函数:如何使用大写的javascript对象键?

我想看看还有没有别的办法。


您可以创建一个这样做的函数,没有不区分大小写的本地方法来检查键是否在对象中。

1
2
3
4
5
6
7
function isKey(key, obj) {
    var keys = Object.keys(obj).map(function(x) {
        return x.toLowerCase();
    });

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

惯用

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

遵循这个例子

1
2
3
4
5
6
7
8
9
10
11
12
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:不区分大小写的搜索