如何在Javascript中将数组和对象作为参数传递?

如何在Javascript中将数组和对象作为参数传递?,javascript,react-native,Javascript,React Native,当前代码 async onPressAdd(){ //此时,items是一个数组,shop是一个对象 db.商店销售(物品、商店); } 在不同的文件中 storeSale=async({items,shop})=>{ console.log(items);//未定义 console.log(shop);//非对象 } 我试图将数组和对象作为参数传递,但它的工作方式与上面的代码不同 我希望以数组形式接收项目,以对象形式购物 如果您能给我一些建议,我将不胜感激。问题不在于争论的类型 您正在st

当前代码

async onPressAdd(){
//此时,items是一个数组,shop是一个对象
db.商店销售(物品、商店);
}
在不同的文件中

storeSale=async({items,shop})=>{
console.log(items);//未定义
console.log(shop);//非对象
}
我试图将数组和对象作为参数传递,但它的工作方式与上面的代码不同

我希望以数组形式接收项目,以对象形式购物


如果您能给我一些建议,我将不胜感激。

问题不在于争论的类型

您正在
storeSale
中分解参数列表,这意味着它需要一个参数:一个具有
项目
商店
属性的对象。但是你要传递的是两个独立的参数

要么:

  • 将对象传递给它:

    async onPressAdd() {
      db.storeSale({items, shop})
      // −−−−−−−−−−^−−−−−−−−−−−^
    }
    
    并保持
    storeSale
    与现在一样,或者

  • 通过从参数列表中删除
    {}
    ,使
    storeSale
    接受离散参数:

    storeSale = async (items, stop) => {
    // −−−−−−−−−−−−−−−^−−−−−−−−−−−^−−−− no {} here
    
    让你的电话保持现在的状态


  • storeSale需要一个具有 { 项目, 商店 }

    但是你给他两个参数

    试一试
    db.商店销售({物品,商店})

    您的代码尝试分解第一个参数。只需使用
    async(商品、商店)=>