我们得到一个months数组,该元素小于12,其中每个元素将在1到12之间(包括两个端点)。我们的工作是采用此数组并创建一个包含12个元素的完整月份数组,如果该元素存在于原始数组中,则使用该元素,否则将在该位置使用。
例如-
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 ]