Dalam siaran ini, kami menyelidiki secara mendalam cara kerja dalaman kuasa JavaScript ini. Kami tidak akan menggunakannya sahaja; kami akan menyahbina dan membina semula mereka, membuat peta tersuai kami sendiri, menapis dan mengurangkan kaedah menggunakan Array.prototype. Dengan membedah fungsi ini, anda akan mendapat cerapan yang tidak ternilai tentang operasinya, melengkapkan anda untuk memanfaatkan keupayaan manipulasi tatasusunan JavaScript dengan cekap.
Kaedah Peta Tersuai:
Kaedah peta dalam JavaScript adalah penting untuk mengubah tatasusunan dengan menggunakan fungsi pada setiap elemen. Mari buat kaedah peta tersuai menggunakan Array.prototype:
// Custom map method for arrays Array.prototype.customMap = function(callback) { const result = []; for (let i = 0; i < this.length; i++) { result.push(callback(this[i], i, this)); } return result; }; // Example usage: const numbers = [1, 2, 3, 4, 5]; const doubledNumbers = numbers.customMap((num) => num * 2); console.log(doubledNumbers); // [2, 4, 6, 8, 10]
Dalam kaedah peta tersuai ini, kami mengulangi setiap elemen tatasusunan input, menggunakan fungsi panggil balik yang disediakan pada setiap elemen dan menolak hasilnya ke dalam tatasusunan baharu, yang kemudiannya dikembalikan.
Kaedah penapis tersuai:
Kaedah penapis membolehkan penciptaan tatasusunan baharu yang mengandungi elemen yang memenuhi syarat tertentu. Mari buat kaedah penapis tersuai menggunakan Array.prototype:
// Custom filter method for arrays Array.prototype.customFilter = function(callback) { const result = []; for (let i = 0; i < this.length; i++) { if (callback(this[i], i, this)) { result.push(this[i]); } } return result; }; // Example usage: const numbers = [1, 2, 3, 4, 5]; const evenNumbers = numbers.customFilter((num) => num % 2 === 0); console.log(evenNumbers); // [2, 4]
Dalam kaedah penapis tersuai ini, kami mengulangi setiap elemen tatasusunan input, menggunakan fungsi panggil balik yang disediakan pada setiap elemen dan jika panggilan balik kembali benar, kami menambah elemen pada tatasusunan hasil, yang kemudiannya dikembalikan.
Kaedah pengurangan tersuai:
Mencipta kaedah pengurangan tersuai melibatkan pengendalian nilai awal. Mari buat kaedah pengurangan tersuai menggunakan Array.prototype:
// Custom reduce method for arrays Array.prototype.customReduce = function(callback, initialValue) { let accumulator = initialValue === undefined ? this[0] : initialValue; const startIndex = initialValue === undefined ? 1 : 0; for (let i = startIndex; i < this.length; i++) { accumulator = callback(accumulator, this[i], i, this); } return accumulator; }; // Example usage: const numbers = [1, 2, 3, 4, 5]; const sum = numbers.customReduce((accumulator, current) => accumulator + current, 0); console.log(sum); // 15
Kini, kami mempunyai kaedah customReduce yang boleh digunakan pada mana-mana tatasusunan. Dalam kaedah pengurangan tersuai ini, kami mengulangi tatasusunan, bermula daripada nilai permulaan yang disediakan atau elemen pertama jika tiada nilai awal diberikan. Kami menggunakan fungsi panggil balik pada setiap elemen, mengemas kini nilai penumpuk pada setiap langkah dan akhirnya mengembalikan hasil terkumpul.
Kesimpulan:
Memahami cara kerja dalaman kaedah tatasusunan JavaScript seperti peta, penapis dan pengurangan adalah penting untuk pembangunan JavaScript yang mahir. Dengan mencipta versi tersuai kaedah ini menggunakan Array.prototype, kami telah mendapat cerapan tentang prinsip asasnya. Kaedah tersuai ini bukan sahaja membantu dalam pemahaman konsep tetapi juga menekankan fleksibiliti dan kuasa JavaScript sebagai bahasa pengaturcaraan.
Atas ialah kandungan terperinci Membina Peta Anda Sendiri, Tapis dan Kurangkan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!