{"id":1056,"date":"2019-08-27T09:14:57","date_gmt":"2019-08-27T17:14:57","guid":{"rendered":"http:\/\/www.tech.dimprash.com\/?p=1056"},"modified":"2019-08-27T09:18:40","modified_gmt":"2019-08-27T17:18:40","slug":"interview-challenge-getmovietitles","status":"publish","type":"post","link":"http:\/\/www.tech.dimprash.com\/?p=1056","title":{"rendered":"Interview challenge : getMovieTitles"},"content":{"rendered":"<p>Myriad Systems.<\/p>\n<p>To solve this challenge, write an HTTP GET method to retrieve information from a particular movie database.<\/p>\n<p>https:\/\/stackoverflow.com\/questions\/48448432\/fragment-of-missing-code-in-the-solution-movie-titles-complete-a-challenge-more<\/p>\n<pre>function getMovieTitlesData(title, page = 1) {\r\n   const url = 'https:\/\/jsonmock.hackerrank.com\/api\/movies\/search\/?Title=' + title + '&amp;page=' + page;\r\n   console.log('URL:',url);\r\n   const titles = [];\r\n   return new Promise((resolve, reject) =&gt; {\r\n      fetch(url, {\r\n        method: 'get',\r\n      }).then((response) =&gt; {\r\n        return response.json();\r\n      }).then((jsondata) =&gt; {\r\n        for (let i = 0; i &lt; jsondata.data.length; i++) {\r\n           titles.push(jsondata.data[i].Title);\r\n      }\r\n      var total_pages = Number(jsondata.total_pages); \r\n      var curpage = Number(jsondata.page); \r\n      resolve({\r\n         titles : titles,\r\n         page : page,\r\n         total_pages : total_pages\r\n      });\r\n    }).catch((error) =&gt; {\r\n      console.log(\"Failure\", error);\r\n    })\r\n  })\r\n\r\n}\r\n\r\n\r\nfunction getMovieTitles(substr) {\r\n   const promises = [];\r\n   const titles = []; \r\n   getMovieTitlesData(substr).then(result =&gt; {\r\n     titles.push(...result.titles);\r\n     for (let i = result.page + 1; i &lt;=result.total_pages; i++) {\r\n        promises.push(getMovieTitlesData(substr, i));\r\n     }\r\n     Promise.all(promises).then(datas =&gt; {\r\n       datas.forEach(data =&gt; {\r\n          titles.push(...data.titles);\r\n       });\r\n       console.log(titles.sort());\r\n\r\n     });\r\n  })\r\n}\r\n\r\ngetMovieTitles('spiderman');<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Myriad Systems. To solve this challenge, write an HTTP GET method to retrieve information from a particular movie database. https:\/\/stackoverflow.com\/questions\/48448432\/fragment-of-missing-code-in-the-solution-movie-titles-complete-a-challenge-more function getMovieTitlesData(title, page = 1) { const url = &#8216;https:\/\/jsonmock.hackerrank.com\/api\/movies\/search\/?Title=&#8217; + title + &#8216;&amp;page=&#8217; + page; console.log(&#8216;URL:&#8217;,url); const titles = []; return new Promise((resolve, reject) =&gt; { fetch(url, { method: &#8216;get&#8217;, }).then((response) =&gt; { return &hellip; <a href=\"http:\/\/www.tech.dimprash.com\/?p=1056\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Interview challenge : getMovieTitles<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,3],"tags":[],"class_list":["post-1056","post","type-post","status-publish","format-standard","hentry","category-interview-questions","category-javascript"],"_links":{"self":[{"href":"http:\/\/www.tech.dimprash.com\/index.php?rest_route=\/wp\/v2\/posts\/1056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.tech.dimprash.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.tech.dimprash.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.tech.dimprash.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.tech.dimprash.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1056"}],"version-history":[{"count":3,"href":"http:\/\/www.tech.dimprash.com\/index.php?rest_route=\/wp\/v2\/posts\/1056\/revisions"}],"predecessor-version":[{"id":1059,"href":"http:\/\/www.tech.dimprash.com\/index.php?rest_route=\/wp\/v2\/posts\/1056\/revisions\/1059"}],"wp:attachment":[{"href":"http:\/\/www.tech.dimprash.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.tech.dimprash.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1056"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.tech.dimprash.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}