在蟒蛇,返回多个变量,我可以做 -从JavaScript函数返回多个变量?
def function_one(i):
return int(i), int(i) * 2
value, duble_value = function_one(1)
我将如何实现使用javascript如果函数只能返回一个返回值此相同的结果? (我假设使用数组?)
在蟒蛇,返回多个变量,我可以做 -从JavaScript函数返回多个变量?
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];
另一个选择(但不是很好):'功能测试(ret){ret.a = 42; ret.b = 43; }' – 2012-04-19 04:00:07
@AtesGoral当传入“非对象”类型时不起作用(并且如果没有提供参数,将会是一个讨厌的异常)。这也让我想吐一点。 – 2012-04-19 04:04:29
@pst这假设有人故意传入一个对象。此方法有其用处,尤其是当您将一组参数从多个来源收集到相同的池(对象)时。 – 2012-04-19 04:13:49
function foo(){
return ["something","something else","something more","something further"];
}
let [a,b,c,d] = foo();
虽然这段代码可以解决这个问题,[包括解释](http://meta.stackexchange。 com/questions/114762/explain-completely-code-based-answers)确实有助于提高帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 – 2017-08-04 23:03:01
技术上你返回一个元组* *在这两个领域,这仍然是一个单一的值。我不熟悉Javascript,但是如果有某种可以使用的数组或结构,那就很理想。 – Makoto 2012-04-19 03:58:06
如果你要返回的两个整数是素数,你可以返回他们的产品。 :P – 2012-04-19 03:59:00
真琴的评论是一个非常好的评论。 ** Python只能返回一个值* JavaScript没有'tuple'类型,因此可以使用Objects(例如'dict')或Arrays(例如'list')作为替换。另外,JavaScript没有序列解包(这使得Python中的'x,y = tuple'成为可能),因此分解必须长期完成。 – 2012-04-19 04:02:07