123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- // Предварительная подготовка:
- // Создать файл с данными в формате 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)
- )
- );
|