1. 문자열 변환
문자열 변환은 모든 유형의 데이터를 문자열로 변환할 수 있는 작업입니다.
var num= 19; // 19 var myStr = num.toString; // "19"
이렇게 할 수도 있습니다:
var num= 19; // 19 var myStr = String(num); // "19"
또는 더 간단하게:
2. 문자열 분할
문자열 분할입니다. , 문자열을 여러 문자열로 분할하는 경우 JavaScript는 다음과 같은 매우 편리한 기능을 제공합니다.
var myStr = "I,Love,You,Do,you,love,me"; var substrArray = myStr .split(","); // ["I", "Love", "You", "Do", "you", "love", "me"]; var arrayLimited = myStr .split(",", 3); // ["I", "Love", "You"];
split 매개변수의 두 번째 부분은 반환된 문자열 배열의 최대 길이를 나타냅니다.
3. 문자열 길이 가져오기
문자열 길이는 다음과 같이 매우 간단합니다.
var myStr = "I,Love,You,Do,you,love,me"; var myStrLength = myStr.length; //25
4.
많은 사람들이 이러한 JavaScript의 내장 메소드나 특정 사용법을 잊어버리므로 질문을 할 때 for 루프를 중첩해야 합니다.
첫 번째 함수: indexOf는 문자열의 처음부터 검색하여 해당 좌표를 찾지 못한 경우 -1을 반환합니다.
var myStr = "I,Love,you,Do,you,love,me"; var index = myStr.indexOf("you"); // 7 ,基于0开始,找不到返回-1
두 번째 함수인 lastIndexOf는 문자열 끝부터 검색하여 해당 좌표를 찾지 못한 경우 -1을 반환합니다. 다음과 같습니다:
var myStr = "I,Love,you,Do,you,love,me"; var index = myStr.lastIndexOf("you"); // 14
위의 두 함수는 검색 시작 위치를 나타내는 두 번째 선택적 매개변수도 받습니다.
5. 문자열 교체
문자열을 찾는 것만으로는 끝나서는 안 됩니다. 일반적인 질문에서는 다음과 같이 문자열을 찾아 교체하라는 요청을 받는 경우가 많습니다.
var myStr = "I,love,you,Do,you,love,me"; var replacedStr = myStr.replace("love","hate");//"I,hate,you,Do,you,love,me"
기본적으로 처음 발견된 항목만 대체합니다. 전역적으로 바꾸려면 다음과 같은 일반 전역 식별자를 입력해야 합니다.
var myStr = "I,love,you,Do,you,love,me"; var replacedStr = myStr.replace(/love/g,"hate");//"I,hate,you,Do,you,hate,me"
더 자세한 설명은 http://www.w3school.com.cn/jsref/jsref_replace.asp를 참조하세요
6. 주어진 위치의 문자 또는 해당 문자 인코딩 값을 찾습니다
주어진 위치에서 문자를 찾으려면 다음 함수를 사용할 수 있습니다.
var myStr = "I,love,you,Do,you,love,me"; var theChar = myStr.charAt(8);// "o",同样从0开始
마찬가지로, 형제 함수 중 하나는 해당 위치에서 문자 인코딩 값을 찾는 것입니다.
var myStr = "I,love,you,Do,you,love,me"; var theChar = myStr.charCodeAt(8); //111
7. 문자열 연결
문자열 연결 작업은 다음과 같이 추가 연산자를 사용하는 것만큼 간단할 수 있습니다.
var str1 = "I,love,you!"; var str2 = "Do,you,love,me?"; var str = str1 + str2 + "Yes!";//"I,love,you!Do,you,love,me?Yes!"
마찬가지로 JavaScript도 자동으로 다음과 같은 관련 함수를 사용합니다.
var str1 = "I,love,you!"; var str2 = "Do,you,love,me?"; var str = str1.concat(str2);//"I,love,you!Do,you,love,me?"
concat 함수는 여러 매개변수를 갖고, 여러 문자열을 전달하고, 여러 문자열을 연결할 수 있습니다. <… 🎜>
두 번째는 substring 사용:
세 번째는 substr 사용:
var myStr = "I,love,you,Do,you,love,me"; var subStr = myStr.slice(1,5);//",lov"
첫 번째와 동일 one 두 번째와의 첫 번째 차이점은 위 결과에서 볼 수 있듯이 substr의 두 번째 매개 변수가 가로채는 문자열의 최대 길이를 나타낸다는 것입니다.
var myStr = "I,love,you,Do,you,love,me"; var subStr = myStr.substring(1,5); //",lov"
대문자 또는 소문자 문자열 변환에 일반적으로 사용되는 함수는 다음과 같습니다.
var myStr = "I,love,you,Do,you,love,me"; var subStr = myStr.substr(1,5); //",love"
문자열 매칭
문자열 일치를 위해서는 정규식에 대한 어느 정도 이해가 필요할 수 있습니다. 먼저 일치 함수를 살펴보겠습니다.
var myStr = "I,love,you,Do,you,love,me"; var lowCaseStr = myStr.toLowerCase; //"i,love,you,do,you,love,me"; var upCaseStr = myStr.toUpperCase;//"I,LOVE,YOU,DO,YOU,LOVE,ME"
간단합니다. 정규식과 문자열의 위치만 변경합니다. 즉, exec 함수가 호출됩니다. 정규식에 대해 문자열 매개변수를 전달합니다. 위 두 가지 방법의 경우 일치에 성공한 첫 번째 문자열이 반환됩니다. 일치에 실패하면 null이 반환됩니다.
다음과 같은 유사한 방법 검색을 살펴보겠습니다.
var myStr = "I,love,you,Do,you,love,me"; var pattern = /love/; var result = myStr.match(pattern); //["love"] console.log(result .index);//2 console.log(result.input );//I,love,you,Do,you,love,me
발견된 일치 항목의 첨자만 반환합니다. 일치에 실패하면 -1이 반환됩니다.
var myStr = "I,love,you,Do,you,love,me"; var pattern = /love/; var result = pattern .exec(myStr); //["love"] console.log(result .index);//2 console.log(result.input );//I,love,you,Do,you,love,me
비교 규칙은 문자를 기준으로 합니다. 다음과 같은 테이블 순서 비교:
var myStr = "I,love,you,Do,you,love,me"; var pattern = /love/; var result = myStr.search(pattern);//2
12. 예
마지막으로, Qunar.com의 프런트엔드 필기 시험 문제를 살펴보겠습니다. 이 질문을 완료했습니다. 질문: 입력 매개변수의 접미사 이름을 얻으려면 getSuffix 함수를 작성하세요. 예를 들어 abcd.txt를 입력하고 txt를 반환합니다. 첨부된 답변은 다음과 같습니다.
var myStr = "chicken"; var myStrTwo = "egg"; var first = myStr.localeCompare(myStrTwo); // -1 first = myStr.localeCompare("chicken"); // 0 first = myStr.localeCompare("apple"); // 1
JavaScript에는 이러한 문자열 조작 기능 이상의 기능이 있어야 한다고 생각하지만 위에 나열된 기능은 모두 매우 일반적으로 사용되어야 합니다. . 추가해야 할 내용이 있으면 자유롭게 추가해 주세요! 이 글을 보신 후, 끈질긴 면접 질문에 아주 차분하게 대처하실 수 있기를 바라겠습니다.