Yandex Test
by Anton Kolesnikov
HTML
<!-- https://gist.github.com/verkholantsev/4d14ce053b009dac1225 -->
JavaScript
/**
* Реализация API, не изменяйте ее
* @param {string} url
* @param {function} callback
*/
function getData(url, callback) {
var RESPONSES = {
'/countries': [
{name: 'Cameroon', continent: 'Africa'},
{name :'Fiji Islands', continent: 'Oceania'},
{name: 'Guatemala', continent: 'North America'},
{name: 'Japan', continent: 'Asia'},
{name: 'Yugoslavia', continent: 'Europe'},
{name: 'Tanzania', continent: 'Africa'}
],
'/cities': [
{name: 'Bamenda', country: 'Cameroon'},
{name: 'Suva', country: 'Fiji Islands'},
{name: 'Quetzaltenango', country: 'Guatemala'},
{name: 'Osaka', country: 'Japan'},
{name: 'Subotica', country: 'Yugoslavia'},
{name: 'Zanzibar', country: 'Tanzania'},
],
'/populations': [
{count: 138000, name: 'Bamenda'},
{count: 77366, name: 'Suva'},
{count: 90801, name: 'Quetzaltenango'},
{count: 2595674, name: 'Osaka'},
{count: 100386, name: 'Subotica'},
{count: 157634, name: 'Zanzibar'}
]
};
var result = RESPONSES[url];
if (!result) {
return callback('Unknown url');
};
callback(null, result);
}
/**
* Ваши изменения ниже
*/
var requests = ['/countries', '/cities', '/populations'];
var responses = {};
var l = [];
var callback = function(error, result) {
responses[request] = result;
/* ждем три ответа и записываем в массив */
l.push(result);
if (l.length === 3) {
var c = [], cc = [], p = 0;
/* перебираем страны и ищем Африку */
for (var i=0; i<responses['/countries'].length; i++){
/* Если континент Африка, то ... */
if (responses['/countries'][i].continent === 'Africa') {
/* ... по этой стране ищем города в ней */
...