您好,登錄后才能下訂單哦!
題目很簡(jiǎn)單,最簡(jiǎn)單的辦法就是使用for循環(huán)
let arr = [] for (let i = 0; i < b - a + 1; i++) { arr.push(i + a) } return arr
進(jìn)階
之后再想起來(lái)時(shí)感覺(jué)之前的方法有點(diǎn)愚蠢,遂又想出這些方法
數(shù)組空位
join()和toString()會(huì)將空位視為undefined(字符串形式):
// 拼接 > 分割 > map Array(b - a + 1).join(' ').split(' ').map((e, i) => a + i) // 轉(zhuǎn)字符串 > 分割 > map Array(b - a + 1).toString().split(',').map((e, i) => a + i)
利用Array.from方法實(shí)現(xiàn):
// 空數(shù)組轉(zhuǎn)真數(shù)組 Array.from(Array(b - a + 1)).map((e, i) => a + i) // 類似數(shù)組的對(duì)象轉(zhuǎn)數(shù)組 Array.from({ length: b - a + 1 }).map((e, i) => a + i) Array.from({ length: b - a + 1 }, (e, i) => a + i)
ES6的擴(kuò)展運(yùn)算符還可以幫我們更方便地完成這件事
[...Array(b - a + 1)].map((e, i) => a + i) fill()、entries()、keys()方法也不會(huì)忽略空位 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等,這幾個(gè)方法實(shí)現(xiàn)起來(lái)也不夠簡(jiǎn)單,就不多余贅述了
總結(jié)
以上所述是小編給大家介紹的JavaScript生成簡(jiǎn)單等差數(shù)列,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。