Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 래핑을 사용하여 배열을 슬라이스하는 방법

<시간/>

defaultArray.prototype.slice()를 덮어쓰는 배열 메서드를 작성해야 한다고 가정해 보겠습니다. 일반적으로 Array.prototype.slice() 메서드는 시작 인덱스와 끝 인덱스의 두 인수를 사용하고 인덱스 시작부터 end-1까지 원래 배열의 하위 배열을 반환합니다.

우리가 하고자 하는 것은 이 slice() 함수가 end-1이 아닌 인덱스 시작부터 끝까지 부분배열을 반환하도록 만드는 것입니다. 따라서 이 작업을 수행하는 코드가 아래에 나와 있습니다. for 루프를 사용하여 배열을 반복합니다. 이는 실제로 우리가 가지고 있는 어떤 배열 방법보다 빠릅니다. 그런 다음 필요한 하위 배열을 반환하고 마지막으로 방금 작성한 메서드로 Array.prototype.slice()를 덮어씁니다 -

예시

 const arr =[5, 5, 34, 43, 43, 76, 78, 3, 23, 1, 65, 87, 9]; const 슬라이스 =function(start =0, end =this.length-1 ){ 구성 부분 =[]; for(let i =시작; i <=끝; i++){ part.push(this[i]); }; 반환 부분;};Array.prototype.slice =slice;console.log(arr.slice(0, 4));console.log(arr.slice(5, 8));console.log(arr.slice() );

출력

콘솔의 출력은 -

<전>[ 5, 5, 34, 43, 43 ][ 76, 78, 3, 23 ][ 5, 5, 34, 43, 43, 76, 78, 3, 23, 1, 65, 87, 9]