动态生成数组,填充值之前和之后均为零


我们获取一个月份数组,其中元素小于 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 次浏览

职业进阶

通过完成课程获得认证

开始学习
广告