>웹 프론트엔드 >JS 튜토리얼 >js는 문자열과 arrays_javascript 기술 간의 변환 작업을 구현합니다.

js는 문자열과 arrays_javascript 기술 간의 변환 작업을 구현합니다.

WBOY
WBOY원래의
2016-05-16 15:20:291212검색

본 글은 자바스크립트에서 문자열과 배열의 상호변환 방법을 예시와 함께 소개하고 있으며, 참고하실 수 있도록 모든 분들과 공유합니다
문자열과 배열 사이의 변환 연산은 실제 코딩 과정에서 자주 사용되기 때문에 매우 중요하므로 꼭 숙지해야 할 지식 포인트입니다. 물론 이 지식 포인트도 알고 나면 어렵지 않을 것입니다. 영원히 알기 위해서는 충분한 연습이 필요한 것이 아닙니다. 여기에 간략한 소개가 있습니다.
1. 문자열을 배열로 변환
이 작업에서는 지정된 문자를 구분 기호로 사용하여 문자열을 배열로 변환할 수 있는 분할() 함수를 사용합니다.

var Str="abc-mng-zhang-mayi";
var newArray=Str.split("-");
console.log(newArray); 

출력에서 볼 수 있듯이, Split() 함수는 문자열을 배열로 변환했습니다.
2. 배열을 문자열로 변환
이 작업은 Array 객체의 Join() 함수를 사용하여 구현할 수 있습니다. 이 함수는 배열의 요소를 지정된 문자로 연결한 다음 결과 문자열을 반환할 수 있습니다.
코드는 다음과 같습니다.

var newArray=["abc","mng","zhang","mayi"];
var Str=newArray.join("-");
console.log(Str); 

위 코드는 "-"를 사용하여 배열 요소를 연결하고 문자열을 생성하여 요구 사항을 구현합니다.
위의 두 가지 예는 모두 내장 함수를 사용합니다. 물론 직접 작성할 수도 있습니다. 그러면 더 유연하고 기본 사항을 알 수 있습니다.
3. 사용자 정의 문자열을 배열로 변환

function StringToArray(str,substr) 
{ 
 var arrTmp=new Array(); 
 if(substr=="") 
 { 
 arrTmp.push(str); 
 return arrTmp; 
 } 
 var i=0,j=0,k=str.length; 
 while(i<k) 
 { 
 j=str.indexOf(substr,i); 
 if(j!=-1) 
 { 
  if(str.substring(i,j)!="") 
  { 
  arrTmp.push(str.substring(i,j)); 
  } 
  i = j+1; 
 } 
 else
 { 
  if(str.substring(i,k)!="") 
  { 
  arrTmp.push(str.substring(i,k)); 
  } 
  i=k; 
 } 
 } 
 return arrTmp; 
}
var Str="abc-mng-zhang-mayi";
console.log(StringToArray(Str,"-"));
console.log(StringToArray(Str,"-").length);

위 코드는 문자열을 배열로 변환하는 기능도 구현합니다. 코드에 대해 설명하겠습니다.
코드 주석:
1.function StringToArray(str,substr){}, 이 함수는 변환에 사용되며 str은 변환할 문자열, substr은 구분 기호입니다.
2. var arrTmp=new Array(), 분할된 문자열 조각을 저장할 배열을 선언합니다.
3.if(substr=="") {arrTmp.push(str);return arrTmp;}, 문자열 구분 기호가 비어 있으면 전체 문자열이 배열에 배치됩니다.
4. var i=0,j=0,k=str.length; 세 개의 변수를 선언하고 초기 값을 할당합니다. k 값은 문자열의 문자 수입니다.
5.while(i 6.j=str.indexOf(substr,i), 문자열에서 구분 기호가 나타나는 위치를 감지하는 데 사용됩니다. indexOf() 함수가 두 개의 매개 변수를 사용하는 경우 두 번째 매개 변수는 지정된 문자의 시작 위치를 찾는 것입니다. 이 코드 세그먼트는 다음 코드와 함께 이해되어야 합니다.
7.if(j!=-1), 검색된 구분 기호가 존재하는 경우.
8.if(str.substring(i,j)!=""){}, 시작 위치부터 첫 번째 구분 기호까지 문자열을 가로챕니다.
9.arrTmp.push(str.substring(i,j));, 가로채는 문자열을 배열에 넣습니다.
10.i=j 1; 검색 시작 위치를 구분 기호의 다음 문자로 설정합니다.
11.else{}, 검색이 없는 경우.
12.if(str.substring(i,k)!=""){arrTmp.push(str.substring(i,k));}, 마지막 구분 기호 뒤의 문자가 비어 있지 않으면 배열에 추가합니다. .
13.i=k, i를 k로 설정하면 루프가 중지됩니다.
14.return arrTmp; 배열을 반환합니다.
관련 지식:
1.push() 메소드 정의 및 사용법:
이 메소드는 지정된 배열의 끝에 하나 이상의 새 요소를 추가하고 배열의 길이를 반환할 수 있습니다.
참고: 새 배열을 만드는 대신 새 요소가 원래 배열에 직접 추가됩니다.
배열의 추가 속성과 메서드를 보려면 클릭하세요.
문법 구조:
arrayObject.push(요소 1, 요소 2, ...., 요소 N)

매개변수 목록:
매개변수 설명
매개변수(a...N) 필수입니다. 추가할 새 요소입니다.

예제 코드:

var a = [1,2,3];
console.log(a.push("zhang","dao"));

2.indexOf() 메소드 정의 및 사용법:
이 메서드는 문자열에서 지정된 문자열이 처음 나타나는 위치를 반환합니다.
해당 문자열이 검색되지 않으면 반환 값은 -1입니다.
참고: 이 방법은 대소문자를 구분합니다.
문법 구조:
stringObject.indexOf(하위 문자열,startindex)

예제 코드:

var a=new String("abcdefg")
console.log(a.indexOf("b"));

b는 문자열 abcdefg에서 두 번째로 나타납니다. 출력 결과: 1.

var a=new String("abcdefg")
console.log(a.indexOf("B"));

이 방법은 대소문자를 구분하므로 abcdefg 문자열에 대문자 B가 없습니다. 출력 결과: -1.

var a=new String("abcdefg")
console.log(a.indexOf("e",4));

검색 시작 위치는 4이며, 문자열이 처음 나타나는 위치는 문자열의 시작 부분부터 계산됩니다. 출력 결과: 4.

3.substring() 함수.

4. 사용자 정의 배열을 문자열로 변환

function ArrayToString(arr,str) 
{ 
 var strTmp=""; 
 for(var i=0;i<arr.length;i++) 
 { 
 if(arr[i]!="") 
 { 
  if(strTmp=="") 
  { 
  strTmp = arr[i]; 
  } 
  else
  { 
  strTmp=strTmp+str+arr[i]; 
  } 
 } 
 } 
 return strTmp; 
}
var newArray=["abc","mng","zhang","mayi"]; 
console.log(ArrayToString(newArray,"-"));

위 코드는 우리의 요구 사항을 충족하며 배열을 문자열로 변환할 수 있습니다. 코드에 대해 설명하겠습니다.
코드 주석:
1.function ArrayToString(arr,str){}, 첫 번째 매개변수는 배열이고 두 번째 매개변수는 연결 문자열입니다.
2.var strTmp="", 빈 문자열을 선언합니다.
3.for(var i=0;i 4.f(arr!=""){}배열 요소가 비어 있지 않은 경우.
5.if(strTmp=="") {strTmp=arr;}, 문자열도 비어 있으면 배열의 이 요소를 문자열 strTmp에 할당합니다.
6.else{strTmp=strTmp str arr}, 그렇지 않으면 문자열 연결을 수행합니다.
7. strTmp를 반환하고 변환된 문자열을 반환합니다.

위 내용은 js에서 문자열과 배열을 변환하는 자세한 코드입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.