diff --git a/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/653639d63a45a077333312c8.md b/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/653639d63a45a077333312c8.md index 9d47ec5903d..bbaed2036fd 100644 --- a/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/653639d63a45a077333312c8.md +++ b/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-basic-string-and-array-methods-by-building-a-music-player/653639d63a45a077333312c8.md @@ -7,23 +7,24 @@ dashedName: step-38 # --description-- -Before playing the song, you need to make sure it starts from the beginning. This can be achieved by the use of the `currentTime` property of the `audio` object. +Before playing the song, you need to make sure it starts from the beginning. This can be achieved by the use of the `currentTime` property on the `audio` object. -Add an `if` statement to check whether the `userData?.currentSong` is `null` or if `userData?.currentSong.id` is strictly not equal `song.id`. Inside `if` block, set the `currentTime` property of the `audio` object to `0`. +Add an `if` statement to check whether the `userData?.currentSong` is falsy *OR* if `userData?.currentSong.id` is strictly not equal `song.id`. This condition will check if no current song is playing or if the current song is different from the one that is about to be played. +Inside `if` block, set the `currentTime` property of the `audio` object to `0`. # --hints-- -You should create an `if` statement with the condition `userData?.currentSong === null || userData?.currentSong.id !== song.id`. +You should create an `if` statement with the condition `userData?.currentSong === null || userData?.currentSong.id !== song.id`. Don't forget to include optional chaining. ```js -assert.match(code, /if\s*\(\s*userData\?\.currentSong\s*===\s*null\s*\|\|\s*userData\?\.currentSong\.id\s*!==\s*song\.id\s*\)\s*\{\s*/) +assert.match(code, /if\s*\(\s*(?:(?:!userData\?\.currentSong|\s*userData\?\.currentSong\s*===\s*null)\s*\|\|\s*userData\?\.currentSong\.id\s*!==\s*song\.id\s*|\s*userData\?\.currentSong\.id\s*!==\s*song\.id\s*\|\|\s*(?:!userData\?\.currentSong|\s*userData\?\.currentSong\s*===\s*null))\s*\)\s*\{/) ``` You should set `audio.currentTime` to `0` inside your `if` block. ```js -assert.match(code, /if\s*\(\s*userData\?\.currentSong\s*===\s*null\s*\|\|\s*userData\?\.currentSong\.id\s*!==\s*song\.id\s*\)\s*\{\s*audio\.currentTime\s*=\s*0\s*;?\s*\}/) +assert.match(code, /if\s*\(\s*(?:(?:!userData\?\.currentSong|\s*userData\?\.currentSong\s*===\s*null)\s*\|\|\s*userData\?\.currentSong\.id\s*!==\s*song\.id\s*|\s*userData\?\.currentSong\.id\s*!==\s*song\.id\s*\|\|\s*(?:!userData\?\.currentSong|\s*userData\?\.currentSong\s*===\s*null))\s*\)\s*\{\s*audio\.currentTime\s*=\s*0\s*;?\s*\}/) ``` # --seed--