Ответы пользователя по тегу JavaScript
  • Как вывести ошибку с недостающим свойством в объекте с помощью try catch?

    const flowers = [
      { 
        author: "Белі Свім",
        name: "Троянда",
        price: 60 
      }, 
      {
       author: "Джеймс Лоррі",
       name: "Тюльпан"
      },
    { 
        name: "Нарцис",
        price: 45
      }
    ]
    
    let div = document.createElement('div');
    div.id = 'root';
    document.body.append(div); 
    
    function flowersList(arr) {
      let ul = document.createElement('ul');
      arr.forEach(elems => {
        let li = document.createElement('li');
        li.textContent = `author: ${elems.author}; name: ${elems.name}; price: ${elems.price}`;
       try {
          //debugger;
          if (elems.author && elems.name && elems.price) {
            ul.append(li);
          } else {
            throw new Error('Выдало ошибку');
          }
        } catch (e) {
          console.error(`${e} Проверьте ваши данные`);
          //console.log('work catch');
        }
    
      });
      return ul; 
    }
    
    let flowersUl = flowersList(flowers); 
    document.getElementById('root').append(flowersUl);
    Ответ написан
    Комментировать
  • Как реализовать focus на input?

    chokoroko
    @chokoroko Автор вопроса
    const textInput = document.getElementById('input');
    const textDiv = document.getElementById('div');
    
    
    textInput.addEventListener('focus',function () {
        textDiv.style.visibility = 'visible';
    });
    textInput.addEventListener('blur', function () {
        textDiv.style.visibility = 'hidden';
    })
    Ответ написан
    Комментировать
  • Не корректно работает код с замыканием?

    chokoroko
    @chokoroko Автор вопроса
    function closures (number1) {
        //Выводим в консоль первое число
        console.log(`sum(${number1}) = ${number1}`);
        // Возвращаем функцию в которой задано второе число
        return function (number2) {
            //Создаем переменную, где прибавляем первое и второе число
            const result = number1 + number2
            //Выводим в консоль переменную, сумму двух первых чисел
            console.log(`sum(${number2}) = ${result}`);
            // Возвращаем функцию в которой задано третье число
            return function (number3) {
                //Создаем переменную, где прибавляем переменную result и третье число
                const resultTwo = result + number3;
                //Выводим в консоль переменную resultTwo
                console.log(`sum(${number3}) = ${resultTwo}`)
            }
        }
    }
    closures(3)(5)(20);
    Ответ написан
    Комментировать
  • Работа с объектами?

    chokoroko
    @chokoroko Автор вопроса
    const testObject = {
        name: 'Dmitriy',
        age: 99,
        location: 'Monaco'
    }
    const testObject1 = {
        name: 'Dmitriy'
    }
    const testObject2 = {}
    function isEmpty (object) {
        //Создаем цикл для перебора объекта
        for (let key in object) {
            //Создаем переменную которая владеет ключами и значениями объекта
            const meaning = Object.entries(object);
            //Провожу сравнение переменной с числом 2, что количество ключей должно быть 2 или больше, тогда условие выполняется
            if (meaning.length >= 2) {
                // Возвращает в консоль текст если выполнилось условие выше
                return console.log('object is full of properties');
            }
            //Провожу сравнение переменной с числом 1, что количество ключей должно быть ровно 1, тогда условие выполняется
            else if (meaning.length === 1) {
                // Возвращает в консоль текст если выполнилось условие выше
                return console.log('object has one property');
            }
        }
        // Если не выполнилось ни одно условие выше тогда объект является пустым и выводит в консоль данный текст
        return console.log('object is empty');
    }
    //Выводит заполненный объект
    isEmpty(testObject);
    //Выводит объект который, имеет только одно свойство
    isEmpty(testObject1);
    //Выводит пустой объект
    isEmpty(testObject2);
    Ответ написан
    Комментировать
  • Как вывести элементы массива, которые начинаются на букву A?

    chokoroko
    @chokoroko Автор вопроса
    Решил данную задачу вот так
    const arrayThree = ['Andrew','Dmitriy','Maksim','German','Dasha','Anastasia'];
    const letter = 'A';

    function functionFiltersItems (elementArray,elementLetter) {
    return elementArray.filter((element) => element.startsWith(elementLetter));
    }
    console.log(functionFiltersItems(arrayThree,letter));
    Ответ написан
    Комментировать