、複数の変数を返すために、私が行うことができます -JavaScript関数から複数の変数を返しますか? Pythonでは
def function_one(i):
return int(i), int(i) * 2
value, duble_value = function_one(1)
機能は、単一の戻り値を返す可能性がある場合どのように私はJavaScriptを使用してこの同じ結果を得るでしょうか? (配列を使用すると仮定します)
、複数の変数を返すために、私が行うことができます -JavaScript関数から複数の変数を返しますか? Pythonでは
def function_one(i):
return int(i), int(i) * 2
value, duble_value = function_one(1)
機能は、単一の戻り値を返す可能性がある場合どのように私はJavaScriptを使用してこの同じ結果を得るでしょうか? (配列を使用すると仮定します)
配列またはオブジェクトを使用する必要があります。例えば
:
function test() {
return {foo: "bar", baz: "bof"};
}
function test2() {
return ["bar", "bof"];
}
var data = test();
foo = data.foo;
baz = data.baz;
data = test2();
foo = data[0];
baz = data[1];
もう1つのオプションです(niceではありません): 'function test(ret){ret.a = 42; ret.b = 43; } ' –
@AtesGoral"非オブジェクト "型が渡されたときは動作しません(パラメータが与えられていない場合は厄介な例外になります)。また、私は少し吐きたいと思う。 –
@pstこれは、誰かが意図的にオブジェクトを渡すことを前提としています。このメソッドは、特に複数のソースから同じプール(オブジェクト)に一連のパラメータを収集する場合に使用されます。 –
function foo(){
return ["something","something else","something more","something further"];
}
let [a,b,c,d] = foo();
このコードスニペットは、[説明を含む](http://meta.stackexchange。 com/questions/114762/explain-entire-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 –
技術的には、あなたはまだ単一の値であることにある2つのフィールドを持つ*タプル*を、帰国しています。私はJavascriptに慣れていませんが、使用できる配列や構造があれば理想的です。 – Makoto
返す2つの整数が素数である場合、その製品を返すことができます。 :P –
誠のコメントはとても良いです。 ** JavaScriptは 'tuple'型を持たないので、Object(例えば' dict')や配列(例えば 'list')を置換として使うことができます。また、JavaScriptはSequence-unpacking(Pythonでは 'x、y = tuple 'を可能にする)を持たないため、分解を長時間行う必要があります。 –