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

如何实现可接收任意数量整数参数并返回所有参数乘积的JS函数

实现接收任意数量整数参数的乘积函数

方案1:ES6+ 推荐写法

使用剩余参数语法结合reduce方法实现,逻辑简洁易维护:

function multiplyAll(...args) {
  return args.reduce((accumulator, currentValue) => accumulator * currentValue, 1)
}
  • 无需预先定义参数数量,...args会自动将所有传入的参数整合成一个数组
  • 初始计算值设为1,符合数学上空乘积的定义,无参数传入时返回1
  • 支持任意数量参数调用,例如multiplyAll(2,3,4)返回24,multiplyAll(1,2,3,4,5,6,7,8,9,10)返回3628800

方案2:兼容旧环境写法

如果运行环境不支持ES6语法,可以通过函数内置的arguments对象实现:

function multiplyAll() {
  var product = 1
  for (var i = 0; i < arguments.length; i++) {
    product *= arguments[i]
  }
  return product
}

可选:增加整数合法性校验

如果需要严格限制传入参数必须为整数,可以增加校验逻辑:

function multiplyAll(...args) {
  return args.reduce((acc, cur) => {
    if (!Number.isInteger(cur)) {
      throw new TypeError(`传入参数 ${cur} 不是合法整数`)
    }
    return acc * cur
  }, 1)
}

内容的提问来源于stack exchange,提问作者Rasheed abiodun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:54:04