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

JavaScript中如何通过函数传参创建嵌套列表(二维数组)

问题原因

你的代码中对dataList[index]进行了三次重复赋值,JavaScript数组里同一索引位置的内容会被后续写入的值覆盖:

  • 第一次赋值存入index值,立刻被第二次赋值的name覆盖
  • 第二次存入的name又被第三次赋值的words覆盖
    最终每个索引位置只会保留最后一次写入的words值,自然无法生成预期的嵌套数组结构。
修正方案

你需要将index、name、words三个值组合为一个子数组,再将这个子数组赋值到dataList的对应索引位置即可,修正后的完整代码如下:

let dataList = [];

function filli(index, name, words){
    dataList[index] = [index, name, words];
}

filli(0, "David", "Testing this")
filli(1, "John", "My cellphone")
console.log(dataList)

运行上述代码,控制台输出就和你预期的完全一致:

[ [ 0, 'David', 'Testing this' ], [ 1, 'John', 'My cellphone' ] ]

补充:如果你不需要手动指定存储位置、希望按函数调用顺序往数组尾部追加内容,也可以将赋值语句替换为dataList.push([index, name, words]),在你当前的调用场景下运行效果完全相同。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:51:17