您好,登錄后才能下訂單哦!
題目很簡單,最簡單的辦法就是使用for循環
let arr = [] for (let i = 0; i < b - a + 1; i++) { arr.push(i + a) } return arr
進階
之后再想起來時感覺之前的方法有點愚蠢,遂又想出這些方法
數組空位
join()和toString()會將空位視為undefined(字符串形式):
// 拼接 > 分割 > map Array(b - a + 1).join(' ').split(' ').map((e, i) => a + i) // 轉字符串 > 分割 > map Array(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生成簡單等差數列,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。