簡體   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