JavaScript如何產生簡單等差數欄位呢?本文跟大家分享使用for迴圈實作js產生簡單的等差數列,具體實作方法,大家參考下本文。
題目很簡單,最簡單的方法就是使用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產生簡單等差數列的詳細內容。更多資訊請關注PHP中文網其他相關文章!