2016-11-20 1 views
0

lodash에서 배열 메서드가 문자열에서도 작동한다는 것을 알았습니다. 예를 들어 :Lodash - 문자열의 배열 메서드

> _.last('abc') 
'c' 

> _.indexOf('abc', 'x') 
-1 

이 표준 행동이며, 이는에 의존 할 수 있는가? 그 문서는 내가 아는 한 그것에 관해서 아무 것도 말하지 않는다.

위의 방법은 예제 일뿐입니다. 내가 알아야 할 것은 lodash가 문자열에 배열 메서드를 사용할 것인지를 기대하는 것입니다. 프로덕션 코드를 작성해야하며 작동하는 것에 의존 할 수는 없지만 표준 문서는 언급이나 승인 또는 보증되지 않았습니다.

답변

3

String은 본질적으로 문자 배열로 간주 할 수 있습니다. 그들은 .length.indexOf()과 같이 배열에서 찾을 수있는 특정 속성과 함수를 가지고 있습니다.

.last.indexOf에 대한 lodash 소스를 기준으로 .length 속성을 사용하여 배열 내의 문자의 마지막 문자 또는 색인을 결정합니다.

lodash는 대괄호 표기법 (str[0])을 사용하여 배열이있는 항목의 마지막 문자/색인을 찾기 때문에 Array와 유사한 성질로 인해 대부분의 시나리오에서 문자열로 작업 할 수 있지만 전혀 작동하지 않습니다. . 이것은 not universally supported입니다. IE7의 경우, 문자열의 특정 인덱스에있는 문자에 액세스하는 데 charAt 메서드가 존재하는 이유입니다.

당신은 기본적으로 이런 일들을 모두 수행 할 수 있습니다

var str = 'mystring'; 
str.charAt(str.length - 1); // 'g' 

var str = 'mystring'; 
str.indexOf('y') // 1`