gpt4 book ai didi

javascript - Node.js 如何传递包含参数的字符串或数组作为函数参数?

转载 作者:行者123 更新时间:2023-12-03 10:15:19 25 4
gpt4 key购买 nike

我正在尝试在 Node.JS 中创建一个代码,该代码将获取一个包含值的数组并将其传递给一个函数,但没有成功。

这是我的代码:

var tmpArr = [];
tmpArr.push('"2015-04-27", "12345", "http://thispage.com/2.html", 1, 1, 0, 0');
tmpArr.push('"2015-04-25", "34567", "http://thispage.com/2.html", 0, 0, 1, 1');
tmpArr.push('"2015-04-25", "34567", "http://thispage.com/2.html", 0, 0, 1, 1');

function reportPages(arr) {
for (i in arr){
putPage(arr[i]); //this did not work
}
}

function reportPages(arr) {
for (i in arr){
putPage(eval(arr[i])); //this did not work eater
}
}

reportPages(tmpArr)

感谢所有帮助者!

最佳答案

嗯,参数列表不是可以用普通 js 表示的结构。要传递编码为字符串的多个函数参数,您必须使用

eval('putPage('+arr[i]+')')

或更好

putPage.apply(null, JSON.parse('['+arr[i]+']'));

但是,您的 putPage 函数甚至不需要多个参数,而是单个数组,因此您只需使用

putPage(JSON.parse('['+arr[i]+']'));

不过,我建议首先在 tmpArr 中存储正确的 JSON 字符串或真实数组,例如

var tmpArr = [
["2015-04-27", "12345", "http://thispage.com/2.html", 1, 1, 0, 0],
["2015-04-25", "34567", "http://thispage.com/2.html", 0, 0, 1, 1],
["2015-04-25", "34567", "http://thispage.com/2.html", 0, 0, 1, 1]
];

关于javascript - Node.js 如何传递包含参数的字符串或数组作为函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29902766/

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