Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

วิธีแบ่งอาร์เรย์ด้วยการตัดคำใน JavaScript


สมมติว่า เราต้องเขียนวิธีการอาร์เรย์ที่เขียนทับ defaultArray.prototype.slice() โดยปกติวิธีการ Array.prototype.slice() จะใช้เวลาในสองอาร์กิวเมนต์ที่ดัชนีเริ่มต้นและดัชนีสิ้นสุด และส่งกลับอาร์เรย์ย่อยของอาร์เรย์ดั้งเดิมจากดัชนี start toend-1

สิ่งที่เราต้องการทำคือทำให้ฟังก์ชัน slice() นี้ส่งคืน subarray จาก index start toend ไม่ใช่ end-1 ดังนั้น โค้ดสำหรับทำสิ่งนี้แสดงอยู่ด้านล่าง เราวนซ้ำในอาร์เรย์โดยใช้ for loop ซึ่งอันที่จริงแล้วเร็วกว่าวิธีอาร์เรย์ใดๆ ที่เรามี จากนั้นส่งคืน subarray ที่จำเป็น สุดท้ายเราเขียนทับ Array.prototype.slice() ด้วยวิธีการที่เราเพิ่งเขียน −

ตัวอย่าง

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 =[]; for(ให้ i =start; i <=end; i++){ part.push(นี้[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]