Memandangkan arr tatasusunan integer dan fungsi pemetaan fn, kembalikan tatasusunan baharu dengan penjelmaan yang digunakan pada setiap elemen.
Array yang dikembalikan harus dibuat sedemikian rupa sehingga Array[i] = fn(arr[i], i).
Sila selesaikan tanpa kaedah Array.map terbina dalam.
Contoh 1:
Input: arr = [1,2,3], fn = fungsi tambah satu(n) { pulangan n + 1; }
Output: [2,3,4]
Penjelasan:
const newArray = peta(arr, plusone); // [2,3,4]
Fungsi ini meningkatkan setiap nilai dalam tatasusunan sebanyak satu.
Contoh 2:
Input: arr = [1,2,3], fn = fungsi tambahI(n, i) { return n + i; }
Output: [1,3,5]
Penjelasan: Fungsi meningkatkan setiap nilai mengikut indeks yang berada di dalamnya.
Contoh 3:
Input: arr = [10,20,30], fn = pemalar fungsi() { return 42; }
Output: [42,42,42]
Penjelasan: Fungsi sentiasa mengembalikan 42.
Kekangan:
Penyelesaian
/** * @param {number[]} arr * @param {Function} fn * @return {number[]} */ var map = function (arr, fn) { let newArr = []; for (let i = 0; i < arr.length; i++) { newArr[i] = fn(arr[i], i); } return newArr; };
Panduan kod
peta var = fungsi (arr, fn) {
Ini adalah pengisytiharan fungsi. Fungsi peta mengambil argumen tunda, arr(susunan nombor) dan fn(fungsi yang akan digunakan pada setiap elemen tatasusunan).
biar newArr = [];
Cipta tatasusunan kosong untuk menyimpan elemen tatasusunan yang diubah.
untuk (biar i = 0; i < arr.length; i++)
Gelung melalui keseluruhan tatasusunan input
newArr[i] = fn(arr[i], i);
Menyemak sama ada setiap elemen tatasusunan dalam arr[i] memenuhi syarat yang ditentukan dan menyimpan hasilnya dalam tatasusunan kosong newArr
kembali newArr;
Mengembalikan tatasusunan yang baru dibuat yang mengandungi elemen yang diubah.
Atas ialah kandungan terperinci #eetcode Gunakan Transformasi Pada Setiap Elemen dalam Tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!