私はJavascriptを初めて使用しており、同期関数のパラメータとして文字列の配列を渡そうとしています。関数の中で、配列は1つの文字列に結合され、私はなぜそれがわからないのですか?入力は私が変更できないように構造化されています。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'
すべての3つの文字列を連結しますinput
paramが、string1string2,string3
なり、'type: s, val: t'
を出力します。
「そのまま」とはどういう意味ですか? 'input'で連結しないでください。配列を平らにして結合し、それを返します。 'input'は依然として元の配列です。 – Li357
いくつかのコードを削除しましたか?タイプミスがそれをコピーしているだけであると仮定すると( 'string2'の後)、関数は何も返しません。それが行う唯一のことは 'console.log( 'type:string1、val:string2')'です。 – samanime
string2に二重引用符がありません – Isac