tru*_*hit -1 javascript arrays
我有以下数据结构,我需要创建一个匹配给定配置的数字数组 -
{
min: 1000,
max: 10000,
interval: 1000
}
Run Code Online (Sandbox Code Playgroud)
在数组下方输出的正确函数是什么 -
[1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000]
Run Code Online (Sandbox Code Playgroud)
它可以通过 for 循环来完成 -
const output = [];
for (let i = input.min; i <= input.max; i += input.interval) {
output.push(i);
}
console.log(output)
Run Code Online (Sandbox Code Playgroud)
但我想看看是否有更简洁的方法来使用 Array.fill & map 来做到这一点 -
new Array((max - min + interval)).fill(undefined).map((_, i) => (i + min))
Run Code Online (Sandbox Code Playgroud)
您可以通过将 max 和 min 之间的差异除以间隔来计算结果中应该有多少项,然后使用 来创建数组Array.from,使用映射器的索引来min计算为数组的每个值添加多少:
const min = 1000,
max = 10000,
interval = 1000;
const length = (max - min) / interval + 1;
const arr = Array.from({ length }, (_, i) => min + i * interval);
console.log(arr);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
337 次 |
| 最近记录: |