You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript/React数组内是否支持双箭头运算符?如何向指定位置传值?

解答

首先澄清两个概念:

  1. 你贴的示例代码里不存在「双箭头运算符」,数组的每一项都是普通的单参数单箭头函数,JavaScript/React完全支持这种写法——数组可以存储任意合法JS类型的值,自然也包括函数类型。
  2. 如果你说的「双箭头」是指柯里化形式的多阶箭头函数(比如a => b => a + b这种连续箭头的写法),JS同样支持将其存在数组中。

先指出你当前代码的问题:你写的这几个箭头函数,函数体里只有单独的字符串字面量,既没有处理传入的参数,也没有设置返回值,调用时只会返回undefined,没有实际执行效果。


给数组里已有箭头函数传参的方法

数组里的函数按索引位置存储,直接通过索引取出对应函数,传入参数调用即可:

// 索引0对应你写的带one参数的第一个函数,传参调用
const firstResult = arr2[0]('你要传给one的参数值')
// 索引1对应带two参数的第二个函数,传参调用
const secondResult = arr2[1]('你要传给two的参数值')

如果你希望函数接收参数后返回有效结果,需要修正箭头函数的写法,举个可运行的例子:

const arr2 = [
  one => `接收到one位置传入的值:${one}`,
  two => `接收到two位置传入的值:${two}`,
  three => `接收到three位置传入的值:${three}`
];

// 测试调用
console.log(arr2[0]('Hello')) // 打印:接收到one位置传入的值:Hello

如果是双箭头的柯里化函数,调用时连续传参即可:

const arr2 = [
  one => two => `one位置值:${one},two位置值:${two}`
]
// 连续传参调用
console.log(arr2[0]('Hello')('Answer')) // 打印:one位置值:Hello,two位置值:Answer

向数组新增/替换箭头函数的方法

push的作用是往数组末尾追加新元素,直接把箭头函数作为参数传入push即可:

// 往数组末尾追加一个新的单箭头函数
arr2.push(four => `接收到four位置传入的值:${four}`)
// 调用刚追加的函数(刚追加的元素索引是数组长度-1)
console.log(arr2[3]('测试追加内容')) // 打印:接收到four位置传入的值:测试追加内容

如果你要修改one、two对应位置已经存在的函数,不需要用push,直接按索引赋值覆盖就行:

// 覆盖索引0(原one参数对应位置)的函数
arr2[0] = newOne => `覆盖后的one函数收到值:${newOne}`

内容的提问来源于stack exchange,提问作者Copy Paste

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 12:31:01