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

为何控制台输出数字而非数组中的实际字符串?(附JS代码)

问题原因及修复方案

问题原因

你当前返回的是随机生成的数组索引数字,而非通过索引获取数组中对应的名字字符串。变量ogaMi是0到数组长度-1之间的随机整数(数组的合法索引),你直接将这个数字拼接进返回文本,所以控制台输出数字而非名字。另外,函数定义了names参数但未使用,直接依赖全局变量arrayNames,属于代码冗余。

修复后的代码

var arrayNames = ["Angela", "Ben", "Jenny", "Michael", "Chloe"];

function whosPaying(names) {
  var bigBoss = names.length;
  var ogaMi = Math.floor(Math.random() * bigBoss);

  return names[ogaMi] + " is paying for the bill";
}

console.log(whosPaying(arrayNames));

修复说明

  • 使用names[ogaMi]通过随机索引获取数组中的对应名字,替换原本直接使用的索引数字ogaMi。
  • 改为使用函数参数names操作数组,让函数不再依赖全局变量,调用时传入目标数组即可,提升函数通用性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:05:23