// Предварительная подготовка: // Создать файл с данными в формате JSON // Это должен быть массив объектов с двумя свойствами: title и ref // title - название картинки // ref - ссылка на картинку // Задание: // Загрузить данные из JSON-файла // Распарсить данные в массив // Вывести на страницу картинки и подписи к ним var req = new XMLHttpRequest(); req.responseType = 'json'; req.open('GET', 'one.json', true); req.onload = function() { var jsonResponse = req.response; jsonResponse.forEach(element => { let img = document.body.appendChild(document.createElement('img')); img.style.width = 600; img.src = element.ref; document.body.appendChild(document.createElement('p')).innerText = element.title; }); }; req.send(null); // Вариант с fetch fetch('two.json') .then(response => response.json()) .then(jsonResponse => jsonResponse.forEach(element => { document.body.appendChild(document.createElement('img')).src = element.ref; document.body.appendChild(document.createElement('p')).innerText = element.title; })); // Исходные данные // var messages = [ // "backspace", // "enter", // "shift", // "control", // "delete", // "space", // "subtract" // ] // messages.getKey = () => { // let key = new Date().toLocaleTimeString(), x = 0 // while (log [`${key}[${x}]` ]) { x++ } // return `${key}[${x}]` // } // var log = {} // sendMessage // var sendMessage = message => new Promise ( // resolve => setTimeout ( // () => resolve ( message ), // Math.random () * 7000 // ) // ) // Задача: напилить код, который вызывает функцию sendMessage для каждого элемента массива messages и логирует полученные сообщения в объекте log следующим образом: // log // { // 22:25:57: "backspace" // 22:25:58: "shift" // 22:25:59: "subtract" // 22:25:59[2]: "enter" // 22:25:59[3]: "delete" // 22:26:01: "control" // 22:26:01[2]: "space" // } var messages = [ "backspace", "enter", "shift", "control", "delete", "space", "subtract" ] messages.getKey = () => { let key = new Date().toLocaleTimeString(), x = 0 while (log [`${key}[${x}]` ]) { x++ } return `${key}[${x}]` } var log = {} var sendMessage = message => new Promise ( resolve => setTimeout ( () => resolve ( message ), Math.random () * 7000 ) ); messages.forEach ( ( message, index, arr ) => sendMessage ( message ) .then ( message => Object.assign ( log, { [ arr.getKey() ] : message } ), console.log(message) ) );