--- 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); - text: userActivity具有设置为具有密钥totalUsersonline的对象的data密钥 testString: assert('totalUsers' in userActivity.data && 'online' in userActivity.data); - text: 嵌套在userActivity data键中的online属性应设置为45 testString: assert(userActivity.data.online === 45); - text: online属性使用点或括号表示法设置 testString: 'assert.strictEqual(code.search(/online: 45/), -1);' ```
## 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 ```