Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JavaScript函数返回多个变量?_Javascript_Function_Return Value - Fatal编程技术网

从JavaScript函数返回多个变量?

从JavaScript函数返回多个变量?,javascript,function,return-value,Javascript,Function,Return Value,在python中,要返回多个变量,我可以-- 如果函数只能返回一个返回值,那么如何使用javascript实现相同的结果?(我假设使用数组?您需要使用数组或对象 例如: function test() { return {foo: "bar", baz: "bof"}; } function test2() { return ["bar", "bof"]; } var data = test(); foo = data.foo; baz = data.baz; data =

在python中,要返回多个变量,我可以--


如果函数只能返回一个返回值,那么如何使用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];

从技术上讲,返回的元组中有两个字段,仍然是一个值。我不熟悉Javascript,但如果有某种数组或结构可以使用,那就太理想了。如果返回的两个整数是素数,则可以返回它们的乘积:PMakoto的评论很好。Python也只能返回一个值。JavaScript没有
元组类型,因此可以使用对象(例如
dict
)或数组(例如
列表
)作为替换。另外,JavaScript没有序列解包(这使得Python中的
x,y=tuple
成为可能),因此分解必须长期进行。另一个选项(但没有那么好):
function test(ret){ret.a=42;ret.b=43;}
@AtesGoral在传入“非对象”类型时不起作用(如果没有提供参数,这将是一个令人讨厌的例外)。这也让我有点想吐。@pst这假设有人故意传入一个对象。这种方法有它的用途,特别是当你从多个来源将一组参数收集到同一个池(对象)中时。什么是python dict的等价物,
{'a':'b','c':'d'}
,在js?@David542中调用,有时也称为关联数组,而这个代码片段可能会解决这个问题,确实有助于提高您的文章质量。请记住,您是在将来为读者回答这个问题,那些人可能不知道您的代码建议的原因。
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 foo(){
    return ["something","something else","something more","something further"];
}

let [a,b,c,d] = foo();