Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.04.2020, 20:07
Интересующийся
Отправить личное сообщение для knoxville88 Посмотреть профиль Найти все сообщения от knoxville88
 
Регистрация: 08.04.2020
Сообщений: 14

Функция выставления лайка


Нужно дописать функцию, которая будет добавлять лайк указанному треку. Я вроде бы сделал, но похоже неправильно. Помогите.

const playlist = {
  name: 'Музыка для продуктивной работы',
  description: 'Правильно подобранная музыка помогает закончить работу быстрее.',
  tracks: []
};

function addTrack(name, artist) {
  playlist.tracks.push({ name, artist, isLiked: false });
}

function like(name) {
    const trackToLike = playlist.tracks.find(function (track) {
    return track.name == name;
    });

    /* дальше нужно инвертировать значение поля isLiked,
    вспомните про оператор логичекого отрицания — ! */
    trackToLike.isLiked = !false
}


addTrack('We Own The Sky', 'M83');
addTrack('Take Me To Church', 'Hozier');
addTrack('Elephant', 'Tame Impala');

like('We Own The Sky');

console.log(playlist.tracks);

Последний раз редактировалось knoxville88, 08.04.2020 в 20:11.
Ответить с цитированием
  #2 (permalink)  
Старый 08.04.2020, 20:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

knoxville88,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 08.04.2020, 20:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

Сообщение от knoxville88
но похоже неправильно.
trackToLike.isLiked = !false нужно изменять прежнее значение, а не присваивать новое.

Последний раз редактировалось рони, 08.04.2020 в 20:14.
Ответить с цитированием
  #4 (permalink)  
Старый 08.04.2020, 20:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

knoxville88,
сделайте промежуточный вариант.
в строке 15 сохраните прежнее значение, а потом добавьте его в строку 18.
когда придёт просветление, удалите строку 15.
Ответить с цитированием
  #5 (permalink)  
Старый 08.04.2020, 20:53
Интересующийся
Отправить личное сообщение для knoxville88 Посмотреть профиль Найти все сообщения от knoxville88
 
Регистрация: 08.04.2020
Сообщений: 14

рони,
не приходит
Ответить с цитированием
  #6 (permalink)  
Старый 08.04.2020, 20:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

knoxville88,
добавьте вместо false строка 18, то что вначале этой строки.
Ответить с цитированием
  #7 (permalink)  
Старый 08.04.2020, 21:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

knoxville88,
trackToLike.isLiked = !trackToLike.isLiked;
Ответить с цитированием
  #8 (permalink)  
Старый 08.04.2020, 21:29
Интересующийся
Отправить личное сообщение для knoxville88 Посмотреть профиль Найти все сообщения от knoxville88
 
Регистрация: 08.04.2020
Сообщений: 14

рони,
порой начинаю задумываться, не зря ли я начал изучать js

спасибо за подсказку
Ответить с цитированием
  #9 (permalink)  
Старый 08.04.2020, 21:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

knoxville88,
всё будет хорошо, было бы желание и настрой.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как-то странно работает код. Не выполняется целиком функция Yuriy-155 jQuery 7 22.11.2019 16:14
Функция вызывается несколько раз KiberQ Общие вопросы Javascript 11 01.03.2017 15:45
js рекурсивная функция с for.. in циклом frying Общие вопросы Javascript 6 25.08.2014 10:50
не вызывается функция при изменении option soft4you Общие вопросы Javascript 1 23.07.2014 17:41
AJAX функция для новых html-элементов broadcast77 AJAX и COMET 25 03.03.2014 14:01