[英]copying array to another object property javascript
I have two objects: 我有两个对象:
Group
which has a users
property, containing an array of ObjectIds: Group
,其具有users
属性,含有的ObjectID的数组:
["59f5c8b62f73d036bc4f5673","59f5c7d42f73d036bc4f566b",
"59f5c81a2f73d036bc4f566d","59f5c8482f73d036bc4f566f"]
And another object which has a property which needs to be populated with that exact array of objectIds, so when I create it in the back, it looks like this right now: 另一个对象具有一个属性,需要使用该对象的确切数组填充该属性,因此当我在后面创建它时,现在看起来像这样:
var object = new Object({
title: req.body.title
group: req.params.id,
objectArray: { user: group.users, value: 1 }
});
I am expecting to get the population as follows: 我期望人口如下:
object: {
title: some-title,
group: someRefId,
objectArray: [
{user: ObjectId1, value: 1},
{user: ObjectId2, value: 1},
{user: ObjectId3, value: 1},
{user: ObjectId4, value: 1}
]
}
I need to iterate through that array somehow and then declare {user: user of group.users, value:1}
or something. 我需要以某种方式遍历该数组,然后声明
{user: user of group.users, value:1}
或其他内容。 I don't understand how to iterate through that array while declaring a new object... 我不知道在声明新对象时如何遍历该数组。
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);
You could use Array.prototype.map
to do this. 您可以使用
Array.prototype.map
来执行此操作。
ES6 ES6
...
objectArray: group.users.map((user) => ({ user, value: 1 }))
...
ES5 ES5
...
objectArray: group.users.map(function (user) {
return {
user: user,
value: 1
};
})
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.