Heim >Web-Frontend >js-Tutorial >#eetcode Transformation auf jedes Element im Array anwenden
Gibt bei einem gegebenen ganzzahligen Array arr und einer Zuordnungsfunktion fn ein neues Array mit einer auf jedes Element angewendeten Transformation zurück.
Das zurückgegebene Array sollte so erstellt werden, dass returnArray[i] = fn(arr[i], i).
Bitte lösen Sie es ohne die integrierte Array.map-Methode.
Beispiel 1:
Eingabe: arr = [1,2,3], fn = function plusone(n) { return n + 1; }
Ausgabe: [2,3,4]
Erklärung:
const newArray = map(arr, plusone); // [2,3,4]
Die Funktion erhöht jeden Wert im Array um eins.
Beispiel 2:
Eingabe: arr = [1,2,3], fn = function plusI(n, i) { return n + i; }
Ausgabe: [1,3,5]
Erklärung: Die Funktion erhöht jeden Wert um den Index, in dem er sich befindet.
Beispiel 3:
Eingabe: arr = [10,20,30], fn = function constant() { return 42; }
Ausgabe: [42,42,42]
Erklärung:Die Funktion gibt immer 42 zurück.
Einschränkungen:
Lösung
/** * @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; };
Code-Komplettlösung
var map = function (arr, fn) {
Dies ist die Funktionsdeklaration. Die Map-Funktion akzeptiert zwei Argumente, arr (ein Array von Zahlen) und fn (eine Funktion, die auf jedes Element des Arrays angewendet wird).
let newArr = [];
Erstellen Sie ein leeres Array, um die transformierten Array-Elemente zu speichern.
for (let i = 0; i < arr.length; i++)
Durchlaufen Sie das gesamte Eingabearray arr
newArr[i] = fn(arr[i], i);
Prüft, ob jedes Array-Element in arr[i] die angegebene Bedingung erfüllt und speichert das Ergebnis im leeren Array newArr
return newArr;
Gibt das neu erstellte Array zurück, das die transformierten Elemente enthält.
Das obige ist der detaillierte Inhalt von#eetcode Transformation auf jedes Element im Array anwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!