動態生成陣列,填充值之前和之後均為零


我們獲取一個月份陣列,其中元素小於 12,每個元素在 1 到 12 之間(包括 1 和 12)。我們的任務是使用這個陣列並建立一個包含 12 個元素的完整月份陣列,如果元素存在於原始陣列中,我們使用該元素,否則我們在該位置使用 0。

例如−

Intput → [5, 7, 9]
Output → [0, 0, 0, 0, 5, 0, 7, 0, 9, 10, 0, 0]

現在,編寫程式碼 −

示例

const months = [6, 7, 10, 12];
const completeMonths = (arr) => {
   const completed = [];
   for(let i = 1; i <= 12; i++){
      if(arr.includes(i)){
         completed.push(i);
      }else{
         completed.push(0);
      }
   };
   return completed;
};
console.log(completeMonths(months));

我們從 1 迭代到 12,並一直檢查原始陣列是否包含當前元素,如果是,則將該元素推送到新陣列,否則將 0 推送到新陣列。

輸出

以上程式碼在控制檯中的輸出為 −

[
   0, 0, 0, 0, 0,
   6, 7, 0, 0, 10,
   0, 12
]

更新於: 20-8-2020

96 次瀏覽

職業進階

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.