125 lines
4.2 KiB
Markdown
125 lines
4.2 KiB
Markdown
---
|
||
id: 587d7b7c367417b2b2512b18
|
||
title: Додавання пар Key-Value (ключ-значення) до об'єктів JavaScript
|
||
challengeType: 1
|
||
forumTopicId: 301153
|
||
dashedName: add-key-value-pairs-to-javascript-objects
|
||
---
|
||
|
||
# --description--
|
||
|
||
По суті, об'єкти - це просто набори пар <dfn>ключ-значення</dfn>. Іншими словами, це фрагменти даних (<dfn>значення</dfn>), зіставлені з унікальними ідентифікаторами, що називаються <dfn>властивостями</dfn> (<dfn>ключами</dfn>). Розглянемо приклад:
|
||
|
||
```js
|
||
const tekkenCharacter = {
|
||
player: 'Hwoarang',
|
||
fightingStyle: 'Tae Kwon Doe',
|
||
human: true
|
||
};
|
||
```
|
||
|
||
Наведений вище код називає об'єкт персонажа відеоігри Tekken з ім'ям `tekkenCharacter`. У нього є три властивості, кожна з яких відповідає певному значенню. Якщо ви хочете додати додаткову властивість, таку як "origin", це можна зробити, призначивши `origin` об’єкту:
|
||
|
||
```js
|
||
tekkenCharacter.origin = 'South Korea';
|
||
```
|
||
|
||
Тут використовується крапкова нотація. Якщо ви спостерігали за об'єктом `tekkenCharacter`, то тепер він містить властивість `origin`. У Хвоаранга також було яскраво-помаранчеве волосся. Ви можете додати цю властивість в дужки, виконавши:
|
||
|
||
```js
|
||
tekkenCharacter['hair color'] = 'dyed orange';
|
||
```
|
||
|
||
Позначення в дужках потрібно, якщо у вашій властивості є пробіл або якщо ви хочете використовувати змінну для імені властивості. У наведеному вище випадку властивість розміщується в лапках, щоб позначити її як рядок і вона буде додана точно так, як показано. Без лапок вона буде оцінюватися як змінна, а ім'я властивості буде мати будь-яке значення змінної. Ось приклад зі змінною:
|
||
|
||
```js
|
||
const eyes = 'eye color';
|
||
|
||
tekkenCharacter[eyes] = 'brown';
|
||
```
|
||
|
||
Після додавання всіх прикладів об'єкт буде виглядати так:
|
||
|
||
```js
|
||
{
|
||
player: 'Hwoarang',
|
||
fightingStyle: 'Tae Kwon Doe',
|
||
human: true,
|
||
origin: 'South Korea',
|
||
'hair color': 'dyed orange',
|
||
'eye color': 'brown'
|
||
};
|
||
```
|
||
|
||
# --instructions--
|
||
|
||
Об'єкт `foods` був створений з трьома записами. Використовуючи обраний синтаксис, додайте до нього ще три записи: `bananas` із значенням `13`, `grapes` із значенням `35`, та `strawberries` із значенням `27`.
|
||
|
||
# --hints--
|
||
|
||
`foods` повинен бути об'єктом.
|
||
|
||
```js
|
||
assert(typeof foods === 'object');
|
||
```
|
||
|
||
Об'єкт `foods` повинен мати ключ `bananas` зі значенням `13`.
|
||
|
||
```js
|
||
assert(foods.bananas === 13);
|
||
```
|
||
|
||
Об'єкт `foods` повинен мати ключ `grapes` зі значенням `35`.
|
||
|
||
```js
|
||
assert(foods.grapes === 35);
|
||
```
|
||
|
||
Об'єкт `foods` повинен мати ключ `strawberries` зі значенням `27`.
|
||
|
||
```js
|
||
assert(foods.strawberries === 27);
|
||
```
|
||
|
||
Пари "ключ-значення" повинні бути встановлені за допомогою крапок або дужок.
|
||
|
||
```js
|
||
assert(
|
||
code.search(/bananas:/) === -1 &&
|
||
code.search(/grapes:/) === -1 &&
|
||
code.search(/strawberries:/) === -1
|
||
);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
let foods = {
|
||
apples: 25,
|
||
oranges: 32,
|
||
plums: 28
|
||
};
|
||
|
||
// Only change code below this line
|
||
|
||
// Only change code above this line
|
||
|
||
console.log(foods);
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
let foods = {
|
||
apples: 25,
|
||
oranges: 32,
|
||
plums: 28
|
||
};
|
||
|
||
foods['bananas'] = 13;
|
||
foods['grapes'] = 35;
|
||
foods['strawberries'] = 27;
|
||
```
|