首页 > 解决方案 > 在 JavaScript/TypeScript 中使用数组索引创建函数数组

问题描述

如何创建一个可以使用的多个函数的数组,b[2]()这样我就不需要硬编码返回值,而只需使用数组索引代替const a

const a = [...Array(100)]
const b= [()=>{return 0}, ()=>{return 1}, ()=>{return 2},()=>{return 3}]
expect(b[2]()).equal(2)

标签: javascripttypescript

解决方案


您可以使用Array.from方法并为每个元素返回另一个将返回索引的函数。

const f = Array.from(Array(100), (_, i) => () => i)

console.log(f[2]())
console.log(f[99]())

如果您已经有一个元素数组,那么您可以使用map

const arr = ['foo', 'bar']
const f = arr.map(e => (a) => `${a} ${e}`)

console.log(f[0]('Value:'))


推荐阅读