【发布时间】:2017-11-22 07:53:25
【问题描述】:
我是 Javascript 新手,正在尝试将字符串数组作为参数传递给同步函数。在函数内部,数组被组合成一个字符串,我不知道为什么。输入是结构化的,因此我无法更改它。
module.exports = {
myFunc: function (input) {
console.log(input); //"string1string2,string3"
var type = input[0];
var val = input[1][0];
console.log('type: ' + type + ', val: ' + val)
}
}
myFunc(["string1", ["string2", "string3"]]); //'type: s, val: t'
参数input 与所有三个字符串连接,变为string1string2,string3 并打印出'type: s, val: t'。
【问题讨论】:
-
“完整”是什么意思?不要在
input上连接——别管它!只需展平并加入数组,然后返回。input仍然是原始数组。 -
你遗漏了一些代码吗?假设拼写错误只是复制过来(在'string2'之后),你的函数不会返回任何东西。它唯一会做的就是
console.log('type: string1, val: string2')。 -
您在 string2 中缺少双引号
-
是的,这是一个复制粘贴错误
-
我不确定你在这里想要完成什么,你能解释一下吗?您希望该功能到底做什么?我问这个的原因是你使用一个数组来存储实际上并不需要的特定对象。使用对象而不是数组可能会更好。
标签: javascript arrays node.js