2016-08-31 4 views
2

大文字と小文字の区別を引数と一緒に渡す方法はありますか?私はここで何をしようとしている引数の大文字と小文字は区別されますか?

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); 

は、最初の(またはそれ以上)の大文字(複数可)を無視して、「マケドニア」とプリント真として引数を渡すです。事前に

https://jsfiddle.net/DimitriXd4/mfpat7so/

感謝。

+0

'this.town.toLowerCase();' – Rayon

+1

http://stackoverflow.com/questions/2140627/javascript-case-insensitive-string-comparison –

答えて

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

は簡単に美しいと動作するありがとう:)。 –

+1

いくつかの特殊文字を使用する場合、 'String#toLocaleLowerCase'を見てください。 –

+1

@DimitrisXydas - ストレート[a-zA-Z]文字ではなくギリシャ文字を使用している場合、Ninaのコメントは重要です! @Jamiecが編集しました。 – Jamiec

3

確かに、ちょうど別のパラメータを渡す

"isFromTown" : function(n, caseSensitive){ 
    return caseSensitive 
     ? this.town == n 
     : this.town.toLowerCase() == n.toLowerCase(); 
} 

https://jsfiddle.net/mfpat7so/1/

2

機能に

return (this.town.toUpperCase()) === (n.toUpperCase());
を以下のスニペットを使用します

+0

ありがとう! –

+0

@Jamiec '()' reduntantも – Maxx

関連する問題