--- id: 587d7b7c367417b2b2512b18 title: Add Key-Value Pairs to JavaScript Objects challengeType: 1 videoUrl: '' localeTitle: 将键值对添加到JavaScript对象 --- ## Description
在最基本的情况下,对象只是键值对的集合,换句话说,映射到我们称为属性键的唯一标识符的数据片段。我们来看一个非常简单的例子:
让FCC_User = {
用户名:'awesome_coder',
粉丝:572,
积分:1741,
已完成项目:15
};
上面的代码定义了一个名为FCC_User的对象,它有四个属性 ,每个属性都映射到一个特定的值。如果我们想知道的数量followers FCC_User了,我们可以通过写访问属性:
let userData = FCC_User.followers;
// userData等于572
这称为点符号 。或者,我们也可以使用括号访问该属性,如下所示:
让userData = FCC_User ['粉丝']
// userData等于572
请注意,带支架的符号 ,我们封闭followers在引号。这是因为括号实际上允许我们传递一个变量以作为属性名称进行评估(提示:请记住这一点以供日后使用!)。如果我们在没有引号的情况下传递了followers ,那么JavaScript引擎会尝试将其作为变量进行评估,而ReferenceError: followers is not defined将被抛出。
## Instructions
使用相同的语法,我们还可以向对象添加新的键值对。我们用三个条目创建了一个foods对象。再添加三个条目:价值为13 bananas ,价值为35 grapes和价值为27 strawberries
## Tests
```yml tests: - text: foods是一个对象 testString: 'assert(typeof foods === "object", "foods is an object");' - text: foods对象有一个值为13的关键"bananas" testString: 'assert(foods.bananas === 13, "The foods object has a key "bananas" with a value of 13");' - text: foods对象有一个关键的"grapes" ,价值35 testString: 'assert(foods.grapes === 35, "The foods object has a key "grapes" with a value of 35");' - text: foods对象有一个关键的"strawberries" ,值为27 testString: 'assert(foods.strawberries === 27, "The foods object has a key "strawberries" with a value of 27");' - text: 应使用点或括号表示法设置键值对 testString: 'assert(code.search(/bananas:/) === -1 && code.search(/grapes:/) === -1 && code.search(/strawberries:/) === -1, "The key-value pairs should be set using dot or bracket notation");' ```
## Challenge Seed
```js let foods = { apples: 25, oranges: 32, plums: 28 }; // change code below this line // change code above this line console.log(foods); ```
## Solution
```js // solution required ```