題目很簡單,最簡單的辦法就是使用for循環
let arr = []for (let i = 0; i < b - a + 1; i++) { arr.push(i + a)}return arr進階
之后再想起來時感覺之前的方法有點愚蠢,遂又想出這些方法
數組空位
join()和toString()會將空位視為undefined(字符串形式):
// 拼接 > 分割 > mapArray(b - a + 1).join(' ').split(' ').map((e, i) => a + i)// 轉字符串 > 分割 > mapArray(b - a + 1).toString().split(',').map((e, i) => a + i)利用Array.from方法實現:
// 空數組轉真數組Array.from(Array(b - a + 1)).map((e, i) => a + i)// 類似數組的對象轉數組Array.from({ length: b - a + 1 }).map((e, i) => a + i)Array.from({ length: b - a + 1 }, (e, i) => a + i)ES6的擴展運算符還可以幫我們更方便地完成這件事
[...Array(b - a + 1)].map((e, i) => a + i)fill()、entries()、keys()方法也不會忽略空位Array(b - a + 1).fill(' ').map((e, i) => a + i)[...Array(b - a + 1).entries()].map(e => e[0] + a)[...Array(b - a + 1).keys()].map(e => e + a)還有其他的途徑可以完成這件事,比如findIndex()、find()、for...of等,這幾個方法實現起來也不夠簡單,就不多余贅述了
總結
以上所述是小編給大家介紹的JavaScript生成簡單等差數列,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!
新聞熱點
疑難解答
圖片精選