首页 > 解决方案 > 我们可以在javascript中重构解构参数吗

问题描述

我已经在一个函数中解构了我的参数,如下所示:

const obj = {a:1 , b:2, c:3, d:4}
function1(obj);

function1 ({a , b, c ,d}) {
  console.log(a);
  console.log(b);
}

现在我需要将所有参数传递给另一个函数。有没有办法我可以实现这样的事情?

const obj = {a:1 , b:2, c:3, d:4}
function1(obj);

function1 ({a , b, c ,d}) {
  console.log(a);
  console.log(b);
  func2(allMyParams) //instead of func2({a,b,c,d})    
}

标签: javascriptecmascript-6

解决方案


你可以使用arguments像对象一样的数组,它包含所有传递的参数,因为你传递了1个参数,你可以通过它传递给另一个函数arguments[0]

function asd ({a , b, c ,d}) {
  console.log(a);
  console.log(b);
  aa(arguments[0]) 
}

function aa(a) {
  console.log(a);
}

asd({a:1,b:2, c:3, d:4});


推荐阅读