>웹 프론트엔드 >JS 튜토리얼 >JavaScript 배열 애플리케이션 구현 code_javascript 기술

JavaScript 배열 애플리케이션 구현 code_javascript 기술

WBOY
WBOY원래의
2016-05-16 18:29:371099검색

인터셉트 배열: Slice(startIndex, endIndex):

배열에서 지정된 시작 위치와 끝 위치에 있는 배열을 반환합니다. 원래 배열의 내용은 변경되지 않습니다.

또한 또 다른 중요한 방법인 배열 요소를 삽입, 삭제 또는 교체하는 방법이 있습니다.
splice(startIndex, Howmany, element1~elementX): 원본 배열 내용을 수정합니다. 매개변수의 의미는 "시작 위치 지정", "삭제할 요소 수(0일 수 있음)", "배열에 추가된 새 요소(startIndex 첨자부터 시작)"입니다.

관련 애플리케이션
//질문 1: "A[B]C[D]E[F]G"는 두 개의 배열, 즉 ACEG와 [B][D][ F]로 나뉩니다.

코드 복사 코드는 다음과 같습니다.

function QuestionFn1() {
var str = "A[B]C[D]E[F]G";
var oGetTwoArray = new GetTwoArray();
//왼쪽 및 오른쪽 괄호 안의 값 가져오기
oGetTwoArray.GetLeftAndRightValue( str);
oGetTwoArray.GetNoLeftAndRightValue(str);
var array1 = oGetTwoArray.arrBetweenLeftRight;
var array2 = oGetTwoArray.arrNoLeftRight;
Alert(array2 .join(""));
}
//왼쪽 및 오른쪽 괄호의 인덱스 찾기
function GetTwoArray() {
this.indexLeft = 0; 왼쪽 괄호
this.indexRight = 0; //오른쪽 괄호 인덱스
this.arrBetweenLeftRight = []; //배열: 왼쪽 및 오른쪽 괄호에 문자를 저장합니다.
this.arrNoLeftRight = [] / /배열: 괄호로 묶이지 않은 문자 저장
//왼쪽 및 오른쪽 괄호 안의 값 가져오기
this.GetLeftAndRightValue = function(str) {
//문자열에서 왼쪽 괄호 인덱스 찾기
this.indexOf('[');
this.indexRight = str.indexOf(']')
//괄호 안의 값 가져오기(괄호 포함)
var value = str.substring(this.indexLeft, this.indexRight 1);
//배열에 저장됨
this.arrBetweenLeftRight.push(value)//나머지 str
var RestStr = str.substr(this.indexRight 1);
/ /왼쪽 및 오른쪽 대괄호가 있으면 계속해서
if (restStr.indexOf('[') != -1 && RestStr.indexOf(' ]') != -1) {
this.GetLeftAndRightValue(restStr) ;
}
}
//왼쪽 및 오른쪽 괄호 없이 값 가져오기
this.GetNoLeftAndRightValue = function(str ) {
//문자열에서 왼쪽 대괄호의 인덱스를 찾습니다.
this .indexLeft = str.indexOf('[')
this.indexRight = str.indexOf(']'); 🎜>//왼쪽 및 오른쪽 괄호 없이 값 가져오기(첫 번째 오른쪽 괄호 다음에)
var value = str.substring(0, 1)
if (value != '[') { //Because 첫 번째는 왼쪽 대괄호일 수 있습니다.
//배열에 저장됨
this.arrNoLeftRight.push(value)
}
//나머지 str
var RestStr = str.substr (this.indexRight 1);
//왼쪽 및 오른쪽 괄호가 있는 경우 계속 찾기
if (restStr.indexOf('[') != -1 && RestStr.indexOf(']') != -1) {
this.GetNoLeftAndRightValue(restStr);
}
//왼쪽 및 오른쪽 대괄호가 없습니다. 모두 배열에 추가하세요.
else if (restStr.indexOf(' [') == -1 && RestStr.indexOf(']') == -1) {
this.arrNoLeftRight.push(restStr)
}
}
}


//질문 2: [1, 3, 5, 7, 9]와 [2, 4, 6, 7, 8, 10, 13]과 같은 두 개의 정렬된 정수 배열이 있습니다. 함수를 설계하세요. 두 배열을 병합하고 두 배열의 중복 요소를 제거합니다.

코드 복사
코드는 다음과 같습니다. function QuestionFn2() { var arr1 = [1, 3, 5 , 7, 9] var arr2 = [2, 4, 6, 7, 8, 10, 13];
//arr2의 각 요소를 반복하여 arr1의 각 요소와 비교
for (var j = 0; j for (var i = 0; i < arr1.length; i ) {
//두 번째 배열인 경우 숫자가 배열 1에서 특정 숫자보다 작으면 앞에 삽입합니다.
if (arr2[j] < arr1[i] ) {
arr1.splice(i, 0, arr2[j]);
break;
}
//같으면 제거
else if (arr2[j] == arr1[ i]) {
arr1.splice(i, 1, arr2[j]) ;
break;
}
//arr2[j]가 배열 1의 마지막 숫자보다 큰 경우
else if (arr2[j] > arr1[ arr1.length - 1]) {
arr1.push(arr2[j])
}
}
}
alert(arr1.toString());
}


//질문 3: [2, 4, 5, 6, 7과 같은 정수 배열이 제공됩니다. , 8]과 10과 같은 숫자, 두 요소를 찾는 함수를 설계하고, 이 두 숫자의 합을 주어진 숫자로 만들어서 출력하세요.



코드 복사

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