, 여러 변수를 반환하는, 내가 할 수있는 -JavaScript 함수에서 여러 변수를 반환 하시겠습니까? 파이썬에서
나는 기능을 단 하나의 반환 값을 반환 할 경우 자바 스크립트를 사용하여이 같은 결과를 얻을 것이다 어떻게def function_one(i):
return int(i), int(i) * 2
value, duble_value = function_one(1)
? 배열을 사용한다고 가정합니다.
, 여러 변수를 반환하는, 내가 할 수있는 -JavaScript 함수에서 여러 변수를 반환 하시겠습니까? 파이썬에서
나는 기능을 단 하나의 반환 값을 반환 할 경우 자바 스크립트를 사용하여이 같은 결과를 얻을 것이다 어떻게def function_one(i):
return int(i), int(i) * 2
value, duble_value = function_one(1)
? 배열을 사용한다고 가정합니다.
배열이나 객체를 사용해야합니다. 예를 들어
:
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];
또 다른 옵션 (그러나 좋지는 않음) :'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)은 게시물의 품질을 향상시키는 데 정말로 도움이됩니다. 앞으로 독자의 질문에 답하고 있으며 코드 제안의 이유를 알지 못할 수도 있습니다. –
기술적으로는 여전히 하나의 값이 두 필드와 * 튜플 *를 반환하고 있습니다. Javascript에 익숙하지 않지만 사용할 수있는 배열이나 구조가 있다면 이상적입니다. – Makoto
반환 할 두 개의 정수가 소수 인 경우 제품을 반환 할 수 있습니다. : P –
마코토의 코멘트는 아주 좋은 것입니다. ** Python은 * 하나의 값만 반환 할 수 있습니다. ** JavaScript에는 '튜플'유형이 없으므로 Objects (예 :'dict') 또는 Arrays (예 :'list')를 대체 문자열로 사용할 수 있습니다. 또한 JavaScript는 Sequence-unpacking (파이썬에서'x, y = tuple '을 가능하게합니다)을하지 않기 때문에 분해가 장황하게 이루어져야합니다. –