3.9 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
587d7b7d367417b2b2512b1f | Змінити масив, збережений в об'єкті | 1 | 301163 | modify-an-array-stored-in-an-object |
--description--
Тепер вам відомо про всі основні операції стосовно об'єктів JavaScript. Ви можете додавати, змінювати та видаляти пари ключів і значень, перевіряти, чи існують ключі, і ітерувати усі ключі в об'єкті. Продовжуючи вивчення JavaScript ви познайомитесь з ще більш універсальними програми об'єктів. Крім того, уроки про структури даних, що належать до розділу «Coding Interview Prep» навчальної програми, також містять інформацію про ES6 Map та Set об'єкти, які є схожими на звичайні об'єкти, але забезпечують певні додаткові функції. Тепер, коли ви з'ясували, що таке масиви та об'єкти, ви цілком готові до вирішення складніших проблем з допомогою JavaScript!
--instructions--
Зверніть увагу на об’єкт, який подано в редакторі коду. Об'єкт user
містить три ключі. Ключ data
містить п'ять ключів, один з яких містить масив friends
. З цього можна зрозуміти, наскільки гнучкими є об'єкти як структури даних. Ми почали писати функцію addFriend
. Завершіть її для того, щоб вона прийняла об'єкт user
і додала назву аргументу friend
до масиву, збереженого в user.data.friends
і повернула цей масив.
--hints--
Об'єкт user
повинен мати наступні ключі: name
, age
та data
.
assert('name' in user && 'age' in user && 'data' in user);
Функція addFriend
повинна прийняти об’єкт user
і рядок friend
у ролі аргументів, а також додати ще один до масиву friends
в об'єкті user
.
assert(
(function () {
let L1 = user.data.friends.length;
addFriend(user, 'Sean');
let L2 = user.data.friends.length;
return L2 === L1 + 1;
})()
);
addFriend(user, "Pete")
повинен повернути ["Sam", "Kira", "Tomo", "Pete"]
.
assert.deepEqual(
(function () {
delete user.data.friends;
user.data.friends = ['Sam', 'Kira', 'Tomo'];
return addFriend(user, 'Pete');
})(),
['Sam', 'Kira', 'Tomo', 'Pete']
);
--seed--
--seed-contents--
let user = {
name: 'Kenneth',
age: 28,
data: {
username: 'kennethCodesAllDay',
joinDate: 'March 26, 2016',
organization: 'freeCodeCamp',
friends: [
'Sam',
'Kira',
'Tomo'
],
location: {
city: 'San Francisco',
state: 'CA',
country: 'USA'
}
}
};
function addFriend(userObj, friend) {
// Only change code below this line
// Only change code above this line
}
console.log(addFriend(user, 'Pete'));
--solutions--
let user = {
name: 'Kenneth',
age: 28,
data: {
username: 'kennethCodesAllDay',
joinDate: 'March 26, 2016',
organization: 'freeCodeCamp',
friends: [
'Sam',
'Kira',
'Tomo'
],
location: {
city: 'San Francisco',
state: 'CA',
country: 'USA'
}
}
};
function addFriend(userObj, friend) {
userObj.data.friends.push(friend);
return userObj.data.friends;
}