使用 JavaScript 獲取具有偶數位數字的數字


在本題中,我們的任務是編寫一個 JavaScript 函式,用於獲取具有偶數位數字的數字。為了解決此任務,我們將使用 for 迴圈並將每個偶數推入陣列。

理解題意

題意是編寫一個函式,該函式將接收一個數字陣列作為輸入,並返回一個僅包含具有偶數位數字的數字的陣列。例如,如果輸入陣列為 [1, 2, 3, 4, 5],則該函式應返回 [2, 4],因為在這個陣列中,這兩個數字都是偶數且可被 2 整除。

上述問題的邏輯

為了解決這個問題,我們將迭代輸入陣列的全部元素,並使用 for 迴圈和 if 條件從陣列中獲取偶數位數字。獲取偶數後,我們將它們推入一個數組。最後,我們將處理輸入陣列中的所有數字,因此我們可以返回一個新陣列,該陣列僅包含偶數位數字。

演算法

步驟 1 - 定義一個函式,從給定陣列中獲取偶數。

步驟 2 - 初始化一個空陣列來儲存偶數的結果陣列。

步驟 3 - 使用 for 迴圈,該迴圈將執行到陣列長度。

步驟 4 - 檢查陣列中每個專案的條件以獲取偶數。

步驟 5 - 將偶數推入結果陣列。

步驟 6 - 返回結果並呼叫我們上面建立的函式以在控制檯上獲取輸出。

演算法程式碼

//functio to get the even numbers
function evenNumbers(arr) {
   //result array to store the even numbers
   let result = [];

   for (let i = 0; i < arr.length; i++) {
      if (arr[i] % 2 === 0) {
         result.push(arr[i]);
      }
   }
   return result;
}
const arr = [12, 345, 67, 8910, 11, 9];
const even = evenNumbers(arr);
console.log(even);

複雜度

這段程式碼的時間複雜度為 O(n),其中 n 是輸入陣列的長度。因為程式對陣列進行單次迭代,並且對陣列中的每個專案執行恆定時間操作。程式的空間複雜度也是 O(n),因為結果陣列儲存了 arr 中的所有偶數。

結論

該程式有效地從輸入陣列中獲取所有偶數。函式執行併產生結果所花費的時間為 O(n),所消耗的空間也是 O(n)。

更新於:2023年5月18日

364 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告