繁体   English   中英

如何在 Javascript 中连接对象和数组?

[英]How To concat an Object and Array in Javascript?

我有一个收藏夹数组的用户

我正在尝试将一个项目连接到收藏夹字段。

在这里,我将用户分配给userToChange变量

const userToChange = action.data.user;

在这里,我将一张“卡片连接到用户的favorites字段

const changedUserFavorites = userToChange.favorites.concat(action.data.card);

我需要将更新的用户字段传递给 axios 更新调用。 我试图像这样连接用户和更新的收藏夹字段。

 const changedUser = userToChange.concat(changedUserFavorites);

但我收到一个错误:×

Unhandled Rejection (TypeError): userToChange.concat is not a function

我怀疑这可能是因为 userToChange 是一个对象

这是userToChange样子:

User to Change 
Object
favorites: [Array(1)]
firstName: "phil"
id: "5de9930fedc70846747305f6"
token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InBoaWwiLCJmaXJzdE5hbWUiOiJwaGlsIiwiaWF0IjoxNTc1NTkwNDkwfQ.SYoApD4FUuXDEhjWSDBg0_gkKmf7a2FHm5Yifu2yhgw"
username: "phil"
__proto__: Object

changedUserFavorites是一个数组。

因此,我只是想知道如果一个字段是一个对象,我该如何将两者放在一起?

对于对象,您可以使用Object.assign将属性附加到现有对象上。

let myObj = { a: 1 }
let newObj = { b: 1 }
Object.assign(myObj, newObj)
///myObj = { a: 1, b:1 }

对于数组,您有Array.prototype.concat方法。

let myArr = [1, 2]
myArr.concat([3, 4])
//myArr = [1, 2, 3, 4]

MDN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM