gpt4 book ai didi

javascript - 使用 JavaScript 将二维数组传递给函数

转载 作者:行者123 更新时间:2023-11-30 10:27:20 24 4
gpt4 key购买 nike

我试图将二维数组传递给 JavaScript 函数,但我只得到二维数组的第一个元素。以下是我的代码的摘录:

header = [['Objective','summary'],['Status','txtHealth']];

...


function setTableHeader(data){
console.log(data);
var table = document.getElementById('tblData').tHead.insertRow(0);

for (var i = 0; i < header.length; i++)
table.insertCell(i).innerHTML = data[i];

};


/*calling the function*/
setTableHeader.apply(this,header);

控制台日志只显示['Objective','summary'],是不是因为函数只传递了指向数组第一个内存块的内存位置的指针?

我是 webdev 的新手,我也很好奇我是否应该尽可能使用全局变量而不是局部变量?

最佳答案

第一个问题是你正在使用 apply 它将参数作为数组所以你应该这样做。

setTableHeader.apply(this,[header]);

否则,您的标题数组的每一行都将作为函数的参数传入。所以你的数据将只是 ['Objective','summary']

但是你可以像这里一样调用这个函数:

  setTableHeader(header);

此外,如果您将 header 定义为全局,则无需将数据作为参数传递给函数。 Hoewever 你的 for 循环检查 header 数组的长度而不是传入的 data 长度。由于 apply 问题,此处哪些不匹配。

关于javascript - 使用 JavaScript 将二维数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18950150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com