--- id: 587d7b7c367417b2b2512b19 title: Modify an Object Nested Within an Object challengeType: 1 videoUrl: '' localeTitle: 修改嵌套在对象中的对象 --- ## Description
现在让我们来看一个稍微复杂的对象。对象属性可以嵌套到任意深度,它们的值可以是JavaScript支持的任何类型的数据,包括数组甚至其他对象。考虑以下:
让nestedObject = {
id:28802695164,
日期:'2016年12月31日',
数据:{
总用户:99,
在线:80,
onlineStatus:{
活跃:67,
离开:13
}
}
};
nestedObject有三个唯一的键: id ,其值为数字, date为字符串的datadata ,其值为另一个嵌套在其中的对象。虽然结构很快就会变得复杂,但我们仍然可以使用相同的符号来访问我们需要的信息。
## Instructions
在这里,我们定义了一个对象userActivity ,其中包含嵌套在其中的另一个对象。您可以像修改上一个挑战中的属性一样修改此嵌套对象的属性。将online密钥的值设置为45
## Tests
```yml tests: - text: userActivity具有iddatedata属性 testString: 'assert("id" in userActivity && "date" in userActivity && "data" in userActivity, "userActivity has id, date and data properties");' - text: userActivity具有设置为具有密钥totalUsersonline的对象的data密钥 testString: 'assert("totalUsers" in userActivity.data && "online" in userActivity.data, "userActivity has a data key set to an object with keys totalUsers and online");' - text: 嵌套在userActivity data键中的online属性应设置为45 testString: 'assert(userActivity.data.online === 45, "The online property nested in the data key of userActivity should be set to 45");' - text: online属性使用点或括号表示法设置 testString: 'assert.strictEqual(code.search(/online: 45/), -1, "The online property is set using dot or bracket notation");' ```
## Challenge Seed
```js let userActivity = { id: 23894201352, date: 'January 1, 2017', data: { totalUsers: 51, online: 42 } }; // change code below this line // change code above this line console.log(userActivity); ```
## Solution
```js // solution required ```