我对Typescript / javascript非常陌生,我想使用某些功能(如以下代码)来修改数组的每个元素。但是我想知道是否有一种更简洁/清晰的方法来从变量构建我期望的数组?
const variable = [1,2,3,4,5,6]
function add(a: number, b: number): number {
return a + b;
}
console.log(variable.map((i: number) => {return add(100, i)})) # =>[ 101, 102, 103, 104, 105, 106 ]
一种半通用的方法是定义一个函数add()
,它本身返回一个函数,其中将要映射的当前item
添加到指定的固定amount
(即100
):
const add = (amount) => (item) => item + amount;
console.log([1,2,3,4,5,6].map(add(100)));
您实际上并不需要创建添加函数,您可以在映射过程中将数字直接添加到当前值。
const variable = [1,2,3,4,5,6]
console.log(variable.map(num => num + 100))
在ES6中,如果您将单个表达式作为return语句,则只需将其重写为:
variable.map((i: number) => add(100, i))
此外,如果您将variable
声明为number
的数组,例如:
const variable: number[] = [1,2,3,4,5,6]
然后在.map()
方法中,您无需声明i: number
,因为会自动推断出来。因此,.map()
逻辑将变得更加简洁,例如:
variable.map(i => add(100, i))
或者,您可以在不使用add()
功能的情况下简单地做到这一点:
variable.map(i => 100 + i)