在JS中返回多个值

我只是在JS中调整了一些代码,最终编写了以下代码。

const adding=(a,b,c,d)=> {
  return(a+b, c+d)
}

let sum1, sum2 = adding(1,2,3,4)
console.log(sum1)
console.log(sum2)
输出为 未定义 7

当我更改返回值的位置时,如下所示

const adding=(a,b,c,d)=> {
  return(c+d, a+b)
}

let sum1, sum2 = adding(1,2,3,4)
console.log(sum1)
console.log(sum2)

输出未定义%3

我的问题是为什么?


解决方案

您的方法只返回最后一个表达式,因为comma operator和圆括号不是有效的数据类型,而只是grouping operator ()

相反,您可以将数组作为进一步的destructuring的数据结构。

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
const adding = (a, b, c, d) => [c + d, a + b];

let [sum1, sum2] = adding(1, 2, 3, 4);
console.log(sum1)
console.log(sum2)

相关文章