首頁  >  文章  >  web前端  >  #eetcode 對陣列中的每個元素套用變換

#eetcode 對陣列中的每個元素套用變換

WBOY
WBOY原創
2024-08-16 06:05:32273瀏覽

#eetcode Apply Transform Over Each Element in Array

給定一個整數陣列 arr 和一個映射函數 fn,傳回一個對每個元素應用轉換的新陣列。

傳回的陣列應建立為 returnedArray[i] = fn(arr[i], i).

請在不使用內建Array.map方法的情況下解決。

範例1:

輸入: arr = [1,2,3], fn = function plusone(n) { return n + 1; }
輸出: [2,3,4]
說明:
const newArray = map(arr, plusone); // [2,3,4]
此函數將數組中的每個值加一。

範例2:

輸入: arr = [1,2,3], fn = function plusI(n, i) { return n + i; }
輸出: [1,3,5]
說明: 此函數將每個值增加其所在索引。

範例 3:

輸入: arr = [10,20,30], fn = function Constant() { return 42; }
輸出: [42,42,42]
說明:函數總是傳回 42。

約束:

  • 0
  • -10^9
  • fn 回傳一個數字


/**
 * @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;
};

程式碼演練

var map = function (arr, fn) {
這是函數聲明。 map 函數接受兩個參數:arr(數字陣列)和 fn(將應用於陣列的每個元素的函數)。

令 newArr = [];
建立一個空數組來儲存轉換後的陣列元素。

for (令 i = 0; i 循環遍歷整個輸入數組 arr

newArr[i] = fn(arr[i], i);
檢查 arr[i] 中的每個陣列元素是否滿足指定條件並將結果儲存到空數組 newArr

返回newArr;
傳回包含轉換後的元素的新建立的陣列。

以上是#eetcode 對陣列中的每個元素套用變換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn