• Почему возникает ошибка Unexpected token else?

    Кусок вашего кода:
    if (information == 'Fash') {
                alert(fash);
            } else {
                alert(SeeLater);
            } else {
                alert(`See you later Dr.${lastname}.`);
            } else if (information == 'Fash ') {
                alert(' Barry. ');
            } else {
                alert('No info today');
            } else {
                alert('Access is closed ');
            }


    У вас не может подряд идти два else.
    Ответ написан
    Комментировать
  • Почему возникает ошибка Unexpected token else?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    else {
      alert (SeeLater);
    }
    else {
      ...
    }
    else if {
      ...
    }
    else {
      ...
    }
    else {
      ...
    }
    Ничего не смущает? Соблюдайте стиль оформления, не будет возникать таких глупых вопросов.
    Ответ написан
    Комментировать
  • Как можно сделать этот код быстрее?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Как можно сделать этот код быстрее

    У вас быстрее всего самая медленная операция - это получение ответа с результатами поиска из википедии. Код тут не при чем, и его оптимизацией мало что добъетесь - хоть на ассемблере перепишете...
    Как вариант - выкачивайте себе дамп википедии локально, загоняйте в БД, и совершенствуйте поиск, кешируйте наиболее частые запросы.
    Ответ написан
    Комментировать
  • Как быстро найти вершину,которая имеет наибольшее количество ребер и не соединена с данной вершиной?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    В общем случае - никак. Никакого способа, кроме как просмотреть все вершины, не связанные с данной, нет.

    Но обычно вам и не надо решать эту задачу один раз для конкретной вершины. Как в приведенной задаче - вам надо решить ее для всех вершин графа одновременно. Кроме того, в приведенной задаче граф - всегда дерево.

    Можно, например, считать динамику - для каждого направленного ребра возвращать максимальную степень в поддереве, не считая корень этого поддерева. Если ребро ведет в лист, то ответ - минус бесконечность - вершин нет. Иначе перебираем все ребра из конца ребра (кроме обратного) и берем максимум из ДП для них и степеней концов вершин. Для поиска максимальной вершины для заданной вам надо лишь перебрать все исходящие ребра и найти максимум в ДП.

    Но в этой задаче можно проще: Найдите все вершины с максимальной степенью. Если из 3 и более, то найдите среди них 2 не связанные (берете любую, потом еще одну любую. Если они связанны, то берите любую третью - она не связанна с одной из двух первых).

    Если их 2, то проверьте, вдруг они не связанны. Если же они соседние или такая всего одна, то найдите в графе еще одну вершину с максимальной степенью, которая не связанна хотя бы с одной из этих двух. Чтобы это работало за линию - заведите массив и прибавьте 1 ко всем соседям каждой из 1/2 максимальных вершин. Потом смотрите на те, где стоит 0 (или 1, если максимальных две).

    Также рассмотрите в качестве варианта ответа пару соседей для максимальной вершины, если она одна. Это выбрать в массиве 2 наибольших числа - делается за линию.

    Почему это работает? Понятно, что в задаче надо найти пару не связанных вершин с максимальной суммой степеней. Очевидно, что в случае трех и более максимумов или двух несвязанных максимумов этот алгоритм даст самый оптимальный ответ - 2 наибольших числа в массиве. Лучше никак не сделать.

    Теперь рассмотрим случай двух связанных максимальных вершин. Рассмотрим оптимальный ответ. Если в нем нет одной из максимальных вершин, то мы могли бы заменить один из концов на максимум. Мы не можем этого сделать, только если оба конца связанны с обоими максимумами, а это означало бы циклы в графе. Но у нас же дерево! Значит, оптимальный ответ обязательно содержит одну из максимальных вершин. Но мы этот вариант в алгоритме перебрали.

    Остается случай из одной максимальной вершины. Опять же оптимальный ответ не содержит ее, только если его нельзя улучшить - а значит оба конца связанны с максимальной вершиной. Но этот случай мы тоже разобрали.
    Ответ написан
  • Метод Array.push в чем проблема?

    Метод push() добавляет один или более элементов в конец массива и возвращает новую длину массива.

    Читать документацию перед использованием методов не пробовали?
    Ответ написан
    Комментировать
  • Метод Array.push в чем проблема?

    @askhat
    Метод push изменяет исходный массив и возвращает новую длину массива. Попробуйте написать нижe console.log(errors)
    Ответ написан
    2 комментария
  • Как постоянно генерировать массив с рандомными но близкими друг другу числами в Javascript?

    Seasle
    @Seasle Куратор тега JavaScript
    Существует шум Перлина (Perlin Noise, Simplex Noise 2D), возвращающий числа в интервале [0; 1], либо в интервале [-1; 1], в зависимости от реализации. Если найдете ту, которая возвращает числа в интервале [-1; 1], тогда превращаете в интервал [0; 1] (полученное число делите на 2 и прибавляете 0.5) и умножаете на некий коэффициент.
    Ответ написан
    Комментировать
  • Парсер букмекерской конторы live + отправка в телеграмм?

    daemonhk
    @daemonhk
    ПсиХоПат
    А зачем? Вы же все равно от балды инфу даете, проиграет-выиграет, какая разница? Бабки вcе равно к каперам уйдут. Сделайте кнопку "рандом".
    Ответ написан
    Комментировать
  • Как сделать в promise двойной ответ?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Два асинхронных действия - два промиса, по одному на каждое. Объеденить же несколько потом можно через Promise.all:
    function XMLHttpPromise(method, url, data) {
      return new Promise((resolve, reject) => {
        const xhr = new XMLHttpRequest();
        xhr.open(method, url);
        xhr.onload = () => {
          if (xhr.status === 200 && xhr.readyState === 4) 
            resolve(xhr.responseText);
          else 
            reject("Error");
        }
        xhr.onerror = xhr.ontimeout = reject;
        xhr.send(data);
      })
    }
    
    Promise.all([
      XMLHttpPromise('GET', `style.css`),
      XMLHttpPromise('GET', `xmlData.html`)
    ]).then(([value, secondValue]) => {
      console.log(value);
      console.log(secondValue);
    }).catch(console.error);
    Ответ написан
    Комментировать
  • Почему метод map() возвращает длину массива?

    Seasle
    @Seasle Куратор тега JavaScript
    push
    Return value
    The new length property of the object upon which the method was called.
    Ответ написан
    3 комментария
  • Почему не работает код?

    JRK_DV
    @JRK_DV
    Рецепты https://codepen.io/jrkdv/full/LKLXdq
    из-за особенности значения
    можете тут прочитать про особенность и как можно проверять такие значения
    isNaN
    Ответ написан
    Комментировать
  • Существует ли алгоритм выведения неизвестного из формулы?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Ну, вы собираетесь написать систему символьной алгебры с нуля, а это - сложная задача. Лучше просто напишите коннектор к maxima или octave, они умеют это делать.

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

    Для начала, нужно научиться хотя бы хранить уравнение (в виде строки или в виде ОПЗ, или в виде AST, или еще как-то) и делать с ним эквивалентные преобразования.
    Ответ написан
    2 комментария
  • Область видимости переменной, что с ней не так?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Область видимости здесь не при чём, проблема в асинхронности.
    https://habr.com/ru/company/wrike/blog/302896/
    Ответ написан
    3 комментария
  • Как отфильтровать массив в массиве?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Собрать новый массив:

    const newArr = arr.map(n => ({
      ...n,
      array2: n.array2.filter(n => n !== null),
    }));

    Обновить существующий:

    arr.forEach(n => n.array2.reduceRight((_, n, i, a) => n === null && a.splice(i, 1), 0));
    
    // или
    
    for (const { array2 } of arr) {
      array2.splice(0, array2.length, ...array2.filter(n => n !== null));
    }
    
    // или
    
    for (let i = 0; i < arr.length; i++) {
      let numDeleted = 0;
    
      for (let j = 0; j < arr[i].array2.length; j++) {
        arr[i].array2[j - numDeleted] = arr[i].array2[j];
        numDeleted += arr[i].array2[j] === null;
      }
    
      arr[i].array2.length -= numDeleted;
    }
    Ответ написан
    Комментировать
  • Как узнать название комнаты в socket.io?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Хранить все в базе данных и раздавать пользователям) все просто
    Ответ написан
    5 комментариев
  • Почему массив глобальной переменной стал пустым вне функции?

    @AEVZP
    Асинхронные запросы.

    console.log(arrName) - выводится раньше, чем выполнится всё то, что находится в array_cleaned2
    Ответ написан
    6 комментариев
  • Как разделить nodejs приложение на компоненты?

    Kozack
    @Kozack
    Thinking about a11y
    Комментировать
  • Как компьютер складывает два числа?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Сигнал?
    Вы путаете шину с какой шиной?

    Вы сами точно понимаете на каком уровне детализации вы хотите получить ответ?
    Если на логическом - почитайте как работает сумматор. Можно даже посмотреть видяшки. Сумматор это собственно суть работы любой архитектуры.

    Если же вам на уровне архитектуры готового процессора - то можно посмотреть инструкции ассемблера для сложения чисел. Отправляем два числа в регистры, выполняем команду Add, получаем результат в регистрах, достаем его.

    p.s. Счетчик команд обычно в шину не передается, это часть внутренней архитектуры процессора

    Есть подозрение, что у вас намешались в голове отрывки разных лекций и вы путаете архитектуру с конкретной реализацией, и вообще путаетесь с терминами.
    Ответ написан
    Комментировать
  • Как проще перейти на микросервисную архитектуру?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Если что то не передавать то за ним и не нужно бегать в базу и если что не шифруется то это не нужно расшифровывать. Создайте доверенную сеть внутри которой один сервис будет передавать другому только id пользователя.
    Ответ написан
    Комментировать
  • Как можно из строки выделить дату и время отдельно?

    Seasle
    @Seasle Куратор тега JavaScript
    const parseToDate = string => {
      const [day, month, year, hour, minute] = string.match(/\d+/g).map(match => parseInt(match));
      const normalizedYear = year < 2000 && year.toString().length <= 2 ? year + 2000 : year;
      const date = new Date(normalizedYear, month - 1, day, hour || 0, minute || 0);
      
      return date;
    };
    
    const strings = [
      '01 02 2003 04 05',
      '01 02 03 04 05',
      '01/02/03 04 05',
      '01-02-3 04-05',
      '23-08/2019 3 4',
      '1 1 1980 0 0',
      '2 2 0'
    ];
    
    for (const string of strings) {
      const date = parseToDate(string);
      
      console.log(date.toLocaleString());
    }
    
    /**
    '01.02.2003, 04:05:00'
    '01.02.2003, 04:05:00'
    '01.02.2003, 04:05:00'
    '01.02.2003, 04:05:00'
    '23.08.2019, 03:04:00'
    '01.01.1980, 00:00:00'
    '02.02.2000, 00:00:00'
    */
    Ответ написан
    3 комментария