簡體   English   中英

將數組復制到另一個對象屬性javascript

[英]copying array to another object property javascript

我有兩個對象:

Group ,其具有users屬性,含有的ObjectID的數組:

["59f5c8b62f73d036bc4f5673","59f5c7d42f73d036bc4f566b",
"59f5c81a2f73d036bc4f566d","59f5c8482f73d036bc4f566f"]

另一個對象具有一個屬性,需要使用該對象的確切數組填充該屬性,因此當我在后面創建它時,現在看起來像這樣:

var object = new Object({
      title: req.body.title
      group: req.params.id,
      objectArray: { user: group.users, value: 1 }
    });

我期望人口如下:

object: {
    title: some-title,
    group: someRefId,
    objectArray: [ 
       {user: ObjectId1, value: 1},
       {user: ObjectId2, value: 1},
       {user: ObjectId3, value: 1},
       {user: ObjectId4, value: 1}
    ]
}

我需要以某種方式遍歷該數組,然后聲明{user: user of group.users, value:1}或其他內容。 我不知道在聲明新對象時如何遍歷該數組。

 var req = { body: { title: 'some-title' }, params: { id: 'someRefId' } }; var group = { users: [ "59f5c8b62f73d036bc4f5673", "59f5c7d42f73d036bc4f566b", "59f5c81a2f73d036bc4f566d", "59f5c8482f73d036bc4f566f" ] }; var object = { title: req.body.title, group: req.params.id, objectArray: group.users.map(function(user) { return { user: user, value: 1 }; }) }; console.log(object); 

您可以使用Array.prototype.map來執行此操作。

ES6

...
objectArray: group.users.map((user) => ({ user, value: 1 }))
...

ES5

...
objectArray: group.users.map(function (user) {
    return { 
        user: user, 
        value: 1 
    };
})
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM