一个问题,输入m.n参数,获取一个m长度的都是n的数组,不能用循环

如果不允许使用循环,并且要根据输入的参数 m 和 n 获取一个长度为 m 的数组,且数组的所有元素都是 n,你可以使用递归来实现。

下面是一个使用递归的示例代码,实现了这个功能:

function createArray(m, n) {
  if (m === 0) {
    return [];
  } else {
    return [n].concat(createArray(m - 1, n));
  }
}

const result = createArray(5, 10);
console.log(result); // 输出:[10, 10, 10, 10, 10]

在这个示例中,createArray 函数接收两个参数 m 和 n。如果 m 等于 0,表示已经创建完了所有的元素,返回一个空数组。否则,我们递归地调用 createArray 函数,并将 m - 1 作为新的参数传递下去。同时,我们将 n 添加到数组的头部,使用 concat 方法合并结果数组,最终返回一个长度为 m 的数组,其中的每个元素值都是 n

需要注意的是,使用递归实现时,如果输入的 m 值非常大,可能会导致递归层级很深,可能会影响性能或导致堆栈溢出。在实际应用中,需要根据具体情况进行评估和优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值