2016-08-31 3 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

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());
,739,

+0

@Jamiec이 (가) 편집했습니다. 감사! –

+0

@Jamiec'()'reduntant도 있습니다. – Maxx

관련 문제