Задать вопрос
  • Как исправить ошибку "Uncaught SyntaxError: Unexpected token else"?

    joeberetta
    @joeberetta Куратор тега JavaScript
    Читай: https://epdf.pub/google-for-dummies.html
    if (active.classList.remove('selected'));
    Уберите ; в конце!
    Ответ написан
    Комментировать
  • Как объединить массивы?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const result = graphData.map((n, i) => ({ ...n, color: palette[i % palette.length] }));

    или, в более общем виде:

    const combine = (arr, keys, values) =>
      arr.map(({ ...n }, i) => (
        values.forEach((m, j) => n[keys[j]] = m[i % m.length]),
        n
      ));
    
    
    const result = combine(graphData, [ 'color' ], [ palette ]);
    Ответ написан
    1 комментарий
  • Как отключить _id в коллекциях mongo?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Его нельзя отключить, это уникальный id для каждого объекта. Но вы можете его переопределить, указав в модели своё значение. Вопрос лишь, накой оно вам нужно!!! Ну есть и есть, чем оно мешает
    Ответ написан
    6 комментариев
  • Добавить к сумме еще одно поле в скрипте?

    amorphis
    @amorphis
    Технолог в Студии Артемия Лебедева
    Уберите пробелы в значениях "data-compare-price":
    <option value="217" data-price="2000" data-compare-price="2400">ОФД на 12 месяцев 2000р.</option>
    <option value="218" data-price="2400" data-compare-price="3000">ОФД на 15 месяцев 2400р.</option>
    <option value="219" data-price="4500" data-compare-price="6500">ОФД на 36 месяцев 4500р.</option>
    Ответ написан
    1 комментарий
  • Нужен ли web-сервер кроме Nginx для простого сайта?

    Sanes
    @Sanes
    В вашем случае достаточно Nginx.
    Ответ написан
    Комментировать
  • Сложный и интересный проект для новичка?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    ## Анонимный чат с темами для обсуждения деликатных офисных проблем
    Иногда хочется обсудить что-то с коллегами в офисе, но не хочется смущать их или показывать лишнюю инициативу.
    Например кто-то не смывает в туалете или слишком громко орёт и сам того не замечает. Может быть кто-то слишком интенсивно пользуется парфюмом.
    - Анонимность
    - Постоянная ссылка на чат, тему или дерево чатов
    - ссылки в виде QR-кодов
    - голосовалка
    - закрепленные посты

    ## Сайт checklist
    Веб-сервис и мобильное приложение для краудсорсинга чеклистов для всего: зарегать ИП, получить визу, что делать при ДТП, как влезть в ипотеку, как вылезть из неё, чем заняться с ребенком на выходных (N-ле

    - Коллекция чек-листов снабженных тегами, доступная для краудсорсинга.
    - Краудфандинг составления и поддержки нового листа.
    - Фильтрация чек-листов.
    - Фильтрация пунктов.
    - Тегирование пунктов.
    - Графовые алгоритм обхода чек-листа.
    - Мастер обхода чек-листа.
    - Отчет по чек-листу.
    - Вложенные чеклисты, гиперссылки между разными листами.
    - Параметризация.
    - Экспертная система, логические связи (расширенный режим).

    Примеры:
    - Что делать при ДТП
    - Открыть ИП
    - Осмотр авто при покупке (подветки для разных конкретных моделей)
    - Первая помощь при...
    - Диагностика инсульта
    - Зомби-акопалипсис: как приготовиться
    - Атомный взрыв неподалёку - что делать
    - Планетарная катастрофа - как выживать
    - Поход выходного дня - что взять
    - Подготовка авто к поездке
    - Путешествие: Алжир (виза, прививки, документы, отели, транспорт)
    - Как влезть в ипотеку
    - Как вылезть из ипотеки
    - Как быстро заработать (во все тяжкие)
    - Покупка квартиры (на что обратить внимание)
    - Самостоятельное строительство дома (общий план)
    - Чем заняться с ребёнком N-лет
    - Как отметить новый год
    - Что интересного в районе <пос. Майский>
    - Номера телефонов и документы в автомобиле

    ## Эротический краудфандинг
    Интернет ресурс, где девушки могут делать крауд-фандинговые кампании

    - Крауд-фандинговая кампания по сбору средств на проект
    - оформление проекта (доказательство личности в виде фото с сигном, некое обещание, порог недовольных результатом, целевая сумма)
    - посетители анонимно финансируют проект в биткоинах
    - если кол-во лайков среди профинансировавших (в соответствии с весами) > порогового, учредитель получает сумму за вычетом комиссии
    - если кол-во лайков не превысило порог, сумма возвращается обратно инвесторам

    ## Простой открытый сервис для обмена сообщениями
    - HTTP API, Web-sockets
    - p2p rtsp
    - опциональное end-to-end шифрование
    - хранение истории на клиентах
    - возможность использования нескольких серверов
    - возможность использования альтруистичных клиентов для проксирования трафика p2p
    - поиск узлов на основе блокчейн технологий и DHT таблиц

    ## Онлайн-журнал путешествия
    - публикация трека в реальном времени
    - комментарии путешественника и фолловеров
    - стримы (аудио, видео, фото)
    - отложенная загрузка
    - журнал(расходы, чек-поинты, расписания, цены, погода)
    - FAQ
    - голосовалка

    ## Поэтический онлайн редактор
    - выбор стопа, стиля и жанра
    - шаблон с плейсхолдерами, разбивающий текст на слоги
    - облако рифм
    - подражающий автогенератор
    - многосегментный словарный банк (дифференциально-слоистая древовидная структура, своя специфика в верхнем слое, поэлементное ранжирование сегментов)
    - тезаурус
    - словарь сочаетаемости
    - N-граммы поэзии по авторам и стилям
    - корпус поэзии
    Ответ написан
    13 комментариев
  • Почему 2х мерный созданный через new Array() при перезаписи ячейки перезаписывает все элементы в колонке?

    v3shin
    @v3shin
    Веб-шаман
    new Array(3).fill(false) создает массив. new Array(3).fill(массив) создает родительский массив, в качестве значений которого использует один и тот же массив. Получаются три ссылки на один объект.
    const array = new Array(3).fill('').map(() => new Array(3).fill(false))
    Ответ написан
    1 комментарий
  • Почему не работает React JS?

    fallus
    @fallus
    Вы собрали свой проект?
    npm run build
    Это соберёт проект в *.js-файл, который вы должны подключить вручную в ваш main.html

    Если конечно я правильно понял в чём замес.
    Ответ написан
    Комментировать
  • Почему не работает React JS?

    Robur
    @Robur
    Знаю больше чем это необходимо
    js файл тоже надо подключать в html, сам по себе он там не появится.
    Ответ написан
    Комментировать
  • Почему не работает React JS?

    @azazazazazaza
    ReactDOM.render(), а не просто render()
    Ответ написан
    Комментировать
  • Как сократить условие цикла?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    for(; i<5; i++) {...}
    будет работать, если у вас где-то выше по коду i объявлена и при этом имеет тип Number.

    Вот так, например:
    var i = 0;
    for(; i<5; i++) {console.log(i)}
    Ответ написан
    2 комментария
  • Как сократить условие цикла?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    Так for(; i<5; i++) можно писать, когда инкремент определён вне цикла. Здесь нечего сокращать, не страдайте ерундой.
    Ответ написан
    Комментировать
  • Как реализуется затенение свойств в случае с set: function(val){...}?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Сеттер по сути есть функция (метод). Внутри вы обращаетесь к this. При этом сеттер вызывается в контексте myObject, вот и создается свойство у myObjcet, т.к. this указывает на него.
    Ответ написан
    1 комментарий
  • Как упростить выравнивание высот нескольких элементов?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    const els = [...document.getElementsByClassName('yourself-item__title')];
    const maxHeight = els.reduce((acc, el) => Math.max(acc, el.clientHeight), 0);
    els.forEach(el => el.style.height = `${maxHeight}px`);
    Ответ написан
    1 комментарий
  • Для чего на практике нужен lodash?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Why Lodash?
    Lodash makes JavaScript easier by taking the hassle out of working with arrays, numbers, objects, strings, etc.
    Lodash’s modular methods are great for:

    • Iterating arrays, objects, & strings
    • Manipulating & testing values
    • Creating composite functions


    https://lodash.com/
    Ответ написан
    Комментировать
  • Как сейчас лучше делать - один файл css и js или много мелких файлов?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Зависит от проекта, поэтому нужно пробовать разные варианты и измерять. Готового рецепта нет.
    Я делал на эту тему доклад в разрезе HTTP/2: https://www.youtube.com/watch?v=rQDd5kCwDj8 Но там и в принципе про лучшие практики фронтенда много всего полезного.
    В презентации куча ссылок.
    Ответ написан
    2 комментария
  • Как сделать мгновенное обновление страницы до ответа от сервера?

    @camelCaseVlad
    В UI Development существует концепт оптимистичного UI (optimistic UI).

    Самый простой пример данного концепта - нажатие на кнопку "Мне нравится" со счетчиком поставленных лайков. На клиенте можно сделать +1 сразу же, и не заставлять юзера ждать, пока с сервера придет новое значение лайков на данной кнопке.

    Решение вашей проблемы зависит от выбранных вами инструментов при создании приложения, но вы можете сделать нечто похожее на это:

    Вот как выглядит ТУДУ с ожиданием сервера:

    1*9r4u7IxFQkl8cNcOI4IYUw.gif

    Вот как выглядит с оптимистичным юай:

    1*aOhoD9FUKiEBUQM39zvvUg.gif

    Тут видно, что новый, не записанный на сервере Item отображается в стиле "Loading..."

    Используйте данный подход, дайте загружаемой Item временный ID
    Ответ написан
    Комментировать
  • Работа Git в Webstorm, коммиты?

    E1ON
    @E1ON Куратор тега JavaScript
    Programming, Gamedev, VR
    Можно снести шаблонные файлы, потом удалить папку .git из проекта и сделать инит заново git init, потом уже коммитить и пушить в реп
    Ответ написан
    1 комментарий
  • Как развернуть массив в объекты?

    twobomb
    @twobomb
    var arr = [
      { code: 'error' },
      [
        { code: 'error2' },
        { code: 'error3' }
      ],
      {}
    ];
    arr = arr.flat(Infinity).filter( e => e.code)
    Ответ написан
    Комментировать
  • Возможно ли тестирование сайта в автоматическом режиме?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Да, возможно. Именно для этого и был придуман Selenium.
    Ответ написан
    5 комментариев