This article will share with you the use of for loops to implement js to generate simple arithmetic sequences. For specific implementation methods, please refer to this article.
The topic is very simple. The simplest way is to use for loops
let arr = [] for (let i = 0; i < b - a + 1; i++) { arr.push(i + a) } return arr
Advanced
When I thought about it later, I felt that the previous method was a bit stupid, so I came up with these methods again
Array space
join() and toString() will treat gaps as undefined (string form):
// 拼接 > 分割 > map Array(b - a + 1).join(' ').split(' ').map((e, i) => a + i) // 转字符串 > 分割 > map Array(b - a + 1).toString().split(',').map((e, i) => a + i)
Use the Array.from method to implement:
// 空数组转真数组 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’s expansion operator also It can help us accomplish this more conveniently
[...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)
There are other ways to accomplish this, such as findIndex(), find(), for...of, etc. These methods can be implemented It's not simple enough, so I won't go into details.
The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.
Related articles:
How to implement keyword fuzzy query in jq.ajax php mysql
How to control concurrency using async and enterproxy Quantity
Image lazy loading imgLazyLoading.js
How to use jquery.page.js to achieve paging effect
The above is the detailed content of How to generate an arithmetic sequence using JavaScript. For more information, please follow other related articles on the PHP Chinese website!