2634. Filter Elements from Array

更新於 2024/11/02閱讀時間約 3 分鐘

跟前一題一樣,這題是要避免使用 Array.filter 來過濾要的元素,並回傳新的陣列

題目:

Given an integer array arr and a filtering function fn, return a filtered array filteredArr.

The fn function takes one or two arguments:

  • arr[i] - number from the arr
  • i - index of arr[i]

filteredArr should only contain the elements from the arr for which the expression fn(arr[i], i) evaluates to a truthy value. A truthy value is a value where Boolean(value) returns true.

Please solve it without the built-in Array.filter method.

 

Example 1:

Input: arr = [0,10,20,30], fn = function greaterThan10(n) { return n > 10; }
Output: [20,30]
Explanation:
const newArray = filter(arr, fn); // [20, 30]
The function filters out values that are not greater than 10

Example 2:

Input: arr = [1,2,3], fn = function firstIndex(n, i) { return i === 0; }
Output: [1]
Explanation:
fn can also accept the index of each element
In this case, the function removes elements not at index 0

Example 3:

Input: arr = [-2,-1,0,1,2], fn = function plusOne(n) { return n + 1 }
Output: [-2,0,1,2]
Explanation:
Falsey values such as 0 should be filtered out

 

解題邏輯:

跟前面一樣,我們要先把函式、迴圈,跟回傳的新陣列給寫好,

 function map(arr, fn) {
let returnedArray=[]
for (let i = 0; i < arr.length; i++) {}

接著,因為要符合題目給的 Function 再取出,這次改用 if,當 Functiom 為 true 的時候再把他加到原本的 filteredArr 上。

function filter(arr, fn) {
let filteredArr =[];
for (let i = 0; i < arr.length; i++) {
if (fn(arr[i], i)) {
filteredArr.push(arr[i]) ;
}
}
return filteredArr
}

完成!




    avatar-img
    0會員
    5內容數
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    高的沙龍 的其他內容
    (略),array 是用來將陣列的值進行累加,我們來看看怎麼怎麼達成吧: Given an integer array nums, a reducer function fn, and an initial value init, return the final result obtained
    問題 Write a function expect that helps developers test their code. It should take in any value val and return an object with the following two functio
    (略),array 是用來將陣列的值進行累加,我們來看看怎麼怎麼達成吧: Given an integer array nums, a reducer function fn, and an initial value init, return the final result obtained
    問題 Write a function expect that helps developers test their code. It should take in any value val and return an object with the following two functio
    你可能也想看
    Google News 追蹤
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    (在西班牙的第十天)移動回馬德里 Fisterrea-Santiago de compostela-Madrid 從Fisterrea回Santiago的巴士是下午三點,這天我們悠閒地在飯店睡到九點才慢慢收拾行李,到中午才退房。 我們決定把握機會看海看個夠!
    Thumbnail
    (步行第九天)Pedrouzo-Sandiago de compostela約20km(預計走6小時)-搭巴士去Fisterra 原本想3:30醒來,但振動鬧鐘似乎沒有作用。4點的鬧鐘一響我躡手躡腳拿出背包跟要穿的衣服到樓梯間著裝。聽到一樓餐廳區還有人在聊天,才發現昨天鬧騰的孩子們居然好幾人沒有睡
    Thumbnail
    你是否曾經遇到這樣的情況?手上有一張表格,需要根據某個欄位進行分類,但表格又很繁雜,如果手動一個個查找,就需要花費大量時間才能找到想要的資料,這樣實在是太沒效率又容易眼花。 今天,我就來教你一個FILTER 函數快速分類技巧,讓你輕鬆掌握數據,節省時間。
    Thumbnail
    故事的三大元素: □ 人物 □ 地方 □ 事件、物件
    Thumbnail
    在藥廠常見的濾心種類不外乎就是... 空氣濾心、減菌濾心、無菌濾心,這三種不同的濾心使用功能不太一樣,而濾心完整性測試則會發生在...
    『大戶們的對決就是要製造多空趨勢,我們不是大戶,但可以在大戶對決中仰望舔食殘羹剩粟』
    Thumbnail
    當每個氣室都被完好的薄膜包覆著 呼吸著屬於自己的空氣 當眼前各種玻璃窗的背後 都是用推薦名單和使用者習慣 砌成的風景,試圖……
    Thumbnail
    該相信佛洛伊德 (Sigmund Freud,1856 ~ 1930)?還是該相信容格 (Carl Gustav Jung,1875 ~ 1961)? 該相信理論?還是該相信直覺?......
    Thumbnail
    夢是看不見的真實 夢是看不懂的真實 夢是不想看的真實      夢是被忽視的真實 夢是被忽略的真實 夢是被疏忽的真實 夢是被遺漏的真實 夢是被遺忘的真實 夢是被遺棄的真實 夢是被壓抑的真實 ......
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    (在西班牙的第十天)移動回馬德里 Fisterrea-Santiago de compostela-Madrid 從Fisterrea回Santiago的巴士是下午三點,這天我們悠閒地在飯店睡到九點才慢慢收拾行李,到中午才退房。 我們決定把握機會看海看個夠!
    Thumbnail
    (步行第九天)Pedrouzo-Sandiago de compostela約20km(預計走6小時)-搭巴士去Fisterra 原本想3:30醒來,但振動鬧鐘似乎沒有作用。4點的鬧鐘一響我躡手躡腳拿出背包跟要穿的衣服到樓梯間著裝。聽到一樓餐廳區還有人在聊天,才發現昨天鬧騰的孩子們居然好幾人沒有睡
    Thumbnail
    你是否曾經遇到這樣的情況?手上有一張表格,需要根據某個欄位進行分類,但表格又很繁雜,如果手動一個個查找,就需要花費大量時間才能找到想要的資料,這樣實在是太沒效率又容易眼花。 今天,我就來教你一個FILTER 函數快速分類技巧,讓你輕鬆掌握數據,節省時間。
    Thumbnail
    故事的三大元素: □ 人物 □ 地方 □ 事件、物件
    Thumbnail
    在藥廠常見的濾心種類不外乎就是... 空氣濾心、減菌濾心、無菌濾心,這三種不同的濾心使用功能不太一樣,而濾心完整性測試則會發生在...
    『大戶們的對決就是要製造多空趨勢,我們不是大戶,但可以在大戶對決中仰望舔食殘羹剩粟』
    Thumbnail
    當每個氣室都被完好的薄膜包覆著 呼吸著屬於自己的空氣 當眼前各種玻璃窗的背後 都是用推薦名單和使用者習慣 砌成的風景,試圖……
    Thumbnail
    該相信佛洛伊德 (Sigmund Freud,1856 ~ 1930)?還是該相信容格 (Carl Gustav Jung,1875 ~ 1961)? 該相信理論?還是該相信直覺?......
    Thumbnail
    夢是看不見的真實 夢是看不懂的真實 夢是不想看的真實      夢是被忽視的真實 夢是被忽略的真實 夢是被疏忽的真實 夢是被遺漏的真實 夢是被遺忘的真實 夢是被遺棄的真實 夢是被壓抑的真實 ......