有没有办法将区分大小写与参数一起传递?
var user = {
'name' : 'Jim',
'lastName' : 'Xydas',
'fullName' : function(){
return this.name + " " + this.lastName
},
'address' : {
'country' : "Greece",
'town' : "Thessaloniki",
'street' : "il.ap 15",
"isFromTown" : function(n){
return this.town == n ? true : false;
}
}
};
var checkUser = user.address.isFromTown("thessaloniki");
console.log(checkUser);
我在这里尝试做的是将论证作为" thessaloniki"并打印为true,忽略第一个(或更多)大写字母。
https://jsfiddle.net/DimitriXd4/mfpat7so/
提前致谢。
答案 0 :(得分:3)
您可以将String#toLowerCase()
或String#toLocaleLowerCase
用于两个字符串进行比较。
var user = {
'name' : 'Jim',
'lastName' : 'Xydas',
'fullName' : function() {
return this.name + " " + this.lastName
},
'adress' : {
'country' : "Greece",
'town' : "Thessaloniki",
'street' : "il.ap 15",
"isFromTown" : function(n){
return this.town.toLocaleLowerCase() == n.toLocaleLowerCase();
}
}
};
var checkUser = user.adress.isFromTown("thessaloniki");
console.log(checkUser);
答案 1 :(得分:3)
当然,只需传递另一个参数
"isFromTown" : function(n, caseSensitive){
return caseSensitive
? this.town == n
: this.town.toLowerCase() == n.toLowerCase();
}
答案 2 :(得分:2)
在功能
中使用以下代码段
return (this.town.toUpperCase()) === (n.toUpperCase());