动态生成数组,填充值之前和之后均为零
我们获取一个月份数组,其中元素小于 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 ]
广告