Rumah >hujung hadapan web >tutorial js >Polyfill untuk Kaedah Peta, Penapis dan Kurangkan dalam Javascript
Ia mengembalikan tatasusunan baharu daripada tatasusunan asal, dengan melaksanakan beberapa operasi(fungsi panggil balik) pada setiap item tatasusunan. Ia tidak mengubah tatasusunan asal.
const nums = [1, 2, 3, 4]; const double = nums.map((num, i, arr) => num * 2); console.log(double); // [2, 4, 6, 8]
Array.prototype.myMap = function (cb) { let output = []; for (let i = 0; i < this.length; ++i) { output.push(cb(this[i], i, this)); } return output; };
Ia mengembalikan tatasusunan baharu yang mengandungi hanya elemen yang memenuhi syarat yang diberikan (iaitu, yang panggilan balik itu mengembalikan benar). Tatasusunan asal kekal tidak berubah.
const nums= [1, 2, 3, 4]; const greaterThan2 = nums.filter((num, i, arr) => num > 2); console.log(greaterThan2); // [3, 4]
Array.prototype.myFilter = function (cb) { let output = []; for (let i = 0; i < this.length; ++i) { if (cb(this[i], i, this)) output.push(this[i]); } return output; };
Ia mungkin yang paling rumit daripada ketiga-tiganya. Kaedah ini memproses elemen tatasusunan untuk menghasilkan nilai output tunggal.
const nums = [1, 2, 3, 4]; const sum = nums.reduce((acc, num) => acc + num, 0); console.log(sum); // 10
Array.prototype.myReduce = function (cb, initialValue) { let accumulator = initialValue; for (let i = 0; i < this.length; ++i) { accumulator = accumulator!== undefined ? cb(accumulator, this[i], i, this) : this[i]; } return accumulator; };
Atas ialah kandungan terperinci Polyfill untuk Kaedah Peta, Penapis dan Kurangkan dalam Javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!