Computer >> Máy Tính >  >> Lập trình >> Javascript

Cách cắt một mảng với gói trong JavaScript

Giả sử, chúng ta bắt buộc phải viết một phương thức mảng ghi đè lên defaultArray.prototype.slice (). Thông thường, phương thức Array.prototype.slice () nhận vào hai đối số là chỉ mục bắt đầu và chỉ mục cuối và trả về một mảng con của mảng ban đầu từ chỉ mục start toend-1.

Những gì chúng ta muốn làm là làm cho hàm Slice () này giống như vậy để nó trả về một mảng con từ chỉ mục start toend chứ không phải end-1. Do đó, đoạn mã để thực hiện việc này được hiển thị bên dưới, chúng tôi lặp lại mảng bằng vòng lặp for, thực tế là nhanh hơn bất kỳ phương thức mảng nào mà chúng tôi có. Sau đó trả về mảng con được yêu cầu, cuối cùng chúng ta ghi đè lên Array.prototype.slice () bằng phương thức chúng ta vừa viết -

Ví dụ

const arr = [5, 5, 34, 43, 43, 76, 78, 3, 23, 1, 65, 87, 9];
const slice = function(start = 0, end = this.length-1){
   const part = [];
   for(let i = start; i <= end; i++){
      part.push(this[i]);
   };
   return part;
};
Array.prototype.slice = slice;
console.log(arr.slice(0, 4));
console.log(arr.slice(5, 8));
console.log(arr.slice());

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

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