Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用映射将某些函数应用于数组_Javascript_Typescript_Typescript2.0_Typescript1.8 - Fatal编程技术网

Javascript 使用映射将某些函数应用于数组

Javascript 使用映射将某些函数应用于数组,javascript,typescript,typescript2.0,typescript1.8,Javascript,Typescript,Typescript2.0,Typescript1.8,我对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)})) #

我对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函数,您可以在映射期间直接将数字添加到当前值。
const变量=[1,2,3,4,5,6]

console.log(variable.map(num=>num+100))
您实际上不需要创建add函数,您可以在映射过程中直接将数字添加到当前值。
const变量=[1,2,3,4,5,6]

console.log(variable.map(num=>num+100))
一种半通用方法是定义一个函数
add()
,该函数本身返回一个函数,其中当前映射的
被添加到指定的固定
金额中(即
100
):

const add=(金额)=>(项目)=>项目+金额;

log([1,2,3,4,5,6].map(add(100))一种半通用方法是定义一个函数
add()
,该函数本身返回一个函数,其中当前映射的
被添加到指定的固定
金额(即
100
):

const add=(金额)=>(项目)=>项目+金额;

log([1,2,3,4,5,6].map(add(100))在ES6中,如果有一个表达式作为返回语句,则只需将其重新编写为:

variable.map((i: number) => add(100, i))
另外,如果将
变量
声明为
数字
的数组,则如下所示:

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)

在ES6中,如果将单个表达式作为返回语句,则可以简单地将其重新编写为:

variable.map((i: number) => add(100, i))
另外,如果将
变量
声明为
数字
的数组,则如下所示:

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)

如果只需要一个表达式,您可以跳过map回调中的
return
语句,并删除花括号。您已将问题标记为,这适用于仅适用于TypeScript 2.0而不适用于其他版本的TypeScript的问题,例如不适用于TypeScript 1.8。您还将您的问题标记为,这是针对仅适用于TypeScript 1.8而不适用于TypeScript其他版本的问题,例如不适用于TypeScript 2.0。您使用的是这两个版本中的哪一个?为什么你认为你的问题只适用于那个特定的版本?您是否知道您正在使用的版本已经过时3年多了?如果只需要一个表达式,您可以跳过map回调中的
return
语句,并删除大括号。您已经用标记了您的问题,该标记仅适用于TypeScript 2.0而不适用于其他版本的TypeScript,例如,不要键入脚本1.8。您还将您的问题标记为,这是针对仅适用于TypeScript 1.8而不适用于TypeScript其他版本的问题,例如不适用于TypeScript 2.0。您使用的是这两个版本中的哪一个?为什么你认为你的问题只适用于那个特定的版本?您是否知道您使用的版本已过时超过3年?