Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Как айтишники попадают в шахты и учатся дышать под землей
Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
0xD34F

0xD34F

  • 6881
    вклад
  • 0
    вопросов
  • 5161
    ответ
  • 90%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как решить ошибку при преобразовании Json в Map?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    Никаких ошибок нет, всё правильно, как и должно быть. Сколько есть уникальных ключей - столько записей в map'е и создаётся. Как по одному ключу может быть доступно несколько значений? Никак, это абсурд. Очевидно, вы плохо понимаете, чего хотите сделать.
    Ответ написан 29 окт. 2020
    1 комментарий
    Нравится 1 комментарий
  • Как получить ID с помощью регулярки?

    0xD34F
    0xD34F @0xD34F
    (?<=id=")\d+
    Ответ написан 29 окт. 2020
    1 комментарий
    Нравится 1 1 комментарий
  • Как в цикле получить ширину одних блоков и задать ее другим?

    0xD34F
    0xD34F @0xD34F Куратор тега jQuery
    const $menuItems = $('#menu a');
    $('#submenu > ul').width(i => $menuItems.eq(i).width());
    Ответ написан 29 окт. 2020
    1 комментарий
    Нравится 1 1 комментарий
  • Как вызвать метод в другом компоненте VueJS, который на одном и том же уровне?

    0xD34F
    0xD34F @0xD34F Куратор тега Vue.js
    component 1:

    methods: {
      someMethod() {
        ...

    component 2:

    this.$emit('i-want-to-call-method-from-component-1');

    parent:

    <component-1 ref="component1" />
    <component-2 @i-want-to-call-method-from-component-1="$refs.component1.someMethod()" />
    Ответ написан 29 окт. 2020
    Комментировать
    Нравится 2 Комментировать
  • На какую зарплату может рассчитывать Junior QA в Москве?

    0xD34F
    0xD34F @0xD34F
    https://hh.ru/search/vacancy?area=1&fromSearchLine...
    Ответ написан 27 окт. 2020
    Комментировать
    Нравится 1 Комментировать
  • Как правильно отфильтровать массив?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    arr.reduce((acc, n) => ((acc[n.department] ||= []).push(n), acc), {})
    Ответ написан 27 окт. 2020
    1 комментарий
    Нравится 2 1 комментарий
  • Слайдер jquery ui и дата, как сделать правильно?

    0xD34F
    0xD34F @0xD34F Куратор тега jQuery
    const min = 7;
    const max = min + 21;
    
    function update(value) {
      value = Math.max(min, Math.min(max, value | 0));
    
      $('#spinner2').val(value);
      $('#slider2').slider('value', value);
    
      const date = new Date();
      date.setDate(date.getDate() + value);
      $('#amount').val(date.toLocaleString('en-US', {
        year: 'numeric',
        month: 'long',
        day: 'numeric',
      }));
    }
    
    $('#slider2').slider({
      range: 'min',
      min,
      max,
      step: 1,
      slide: (e, ui) => update(ui.value),
    });
    
    $('#spinner2').spinner({
      min,
      max,
      spin: (e, ui) => update(ui.value),
    }).on('input', e => update(e.target.value)).trigger('input');
    Ответ написан 27 окт. 2020
    1 комментарий
    Нравится 1 1 комментарий
  • Как найти наставника для получения реального опыта?

    0xD34F
    0xD34F @0xD34F
    Мои текущие знания и умения:

    Правильно будет так: "мои фантазии относительно текущих знаний и умений".

    А вот ваш реальный уровень. Во-первых - самостоятельно с задачей не справились. Во-вторых - не смогли решение нагуглить. То есть, вы вообще ничего не можете. Ну и кому вы такой нужны? Очевидно, никому. Отсюда и ответ на ваш вопрос - никак. Сперва приобретите хоть какие-то реальные навыки.
    Ответ написан 26 окт. 2020
    4 комментария
    Нравится 13 4 комментария
  • Как отсотрировать табличные значения?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    const sort = {
      number: (a, b) => a - b,
      string: (a, b) => a.localeCompare(b),
    };
    
    function sortTable(table, colIndex) {
      if (typeof table === 'string') {
        table = document.querySelector(table);
      }
    
      const value = row => row.cells[colIndex].innerText;
      const compare = sort[table.tHead.rows[0].cells[colIndex].dataset.type];
      const tbody = table.tBodies[0];
    
      [...tbody.rows]
        .sort((a, b) => compare(value(a), value(b)))
        .forEach(n => tbody.append(n));
    }
    
    
    sortTable('#grid', 0);
    sortTable(document.querySelector('table'), 1);
    Ответ написан 25 окт. 2020
    Комментировать
    Нравится 1 Комментировать
  • Как сделать активный класс только на одном пункте меню?

    0xD34F
    0xD34F @0xD34F Куратор тега Vue.js
    Такой класс уже есть. Если надо стилизовать ссылку - используйте его.

    UPD. Вынесено из комментариев:

    А можно как-то присваивать свой класс?

    Как-то можно:

    computed: {
      activeLink() {
        return this.links.find(n => n.url === this.$route.path);
      },
    },

    :class="{ active: activeLink === link }"

    Одно непонятно - зачем?
    Ответ написан 24 окт. 2020
    4 комментария
    Нравится 1 4 комментария
  • Какой алгоритм сортировки представлен?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    похоже на quick
    Ответ написан 24 окт. 2020
    Комментировать
    Нравится 2 Комментировать
  • Как преобразовать строку во вложенный Json?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    const result = JSON.stringify({ room: Object.fromEntries(data) });
    Ответ написан 24 окт. 2020
    Комментировать
    Нравится Комментировать
  • Как уменьшить первую букву в определенных словах в предложении?

    0xD34F
    0xD34F @0xD34F
    words = [ 'and', 'of' ]
    
    sentences.gsub!(/\b(#{words.join('|')})\b/i) {|m| m.downcase}
    Ответ написан 24 окт. 2020
    Комментировать
    Нравится Комментировать
  • Как в компоненте VueJS вызывать метод каждые 5 минут?

    0xD34F
    0xD34F @0xD34F Куратор тега Vue.js
    created() {
      const interval = setInterval(this.method, 5 * 60 * 1000);
      this.$on('hook:beforeDestroy', () => clearInterval(interval));
    },
    Ответ написан 23 окт. 2020
    3 комментария
    Нравится 4 3 комментария
  • Как создать объект внутри этого же класса, new this()?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    return new this.constructor();

    ??
    Ответ написан 23 окт. 2020
    2 комментария
    Нравится 1 2 комментария
  • Как скрыть последние 3 знака номера телефона и показать их при нажатии на кнопку показать?

    0xD34F
    0xD34F @0xD34F Куратор тега jQuery
    <div class="phone">8 (123) 111-22-33</div>
    <div class="phone">8 (456) 444-55-66</div>
    <div class="phone">8 (789) 777-88-99</div>

    document.querySelectorAll('.phone').forEach(n => {
      const phone = n.innerHTML;
      n.innerHTML = phone.slice(0, -4) + '... - <span>показать</span>';
      n.querySelector('span').addEventListener('click', () => n.innerHTML = phone);
    });
    Ответ написан 22 окт. 2020
    3 комментария
    Нравится 1 3 комментария
  • Как профильтровать объект с вложениями?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    function filter(val) {
      if (!(val instanceof Object)) {
        return val;
      }
    
      const filtered = Object
        .entries(val)
        .map(n => [ n[0], filter(n[1]) ])
        .filter(n => n[1]);
    
      return filtered.length
        ? val instanceof Array
          ? filtered.map(n => n[1])
          : Object.fromEntries(filtered)
        : null;
    }
    Ответ написан 21 окт. 2020
    Комментировать
    Нравится 1 Комментировать
  • Валидация input (возвращает в строку false). Как исправить?

    0xD34F
    0xD34F @0xD34F
    Пусть валидатор возвращает true/false вместо корректное_значение/false:

    const validator = (value, maxSize) =>
      !(/[^а-яА-Яa-zA-Z0-9\s]/.test(value) || value.length > maxSize);

    Соответственно, setTitle вызывайте только в случае true:

    if (validator(value, maxSize)) {
      setTitle(value);
    }

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

    const validator = (defaultValue, value, maxSize) =>
      (/[^а-яА-Яa-zA-Z0-9\s]/.test(value) || value.length > maxSize)
        ? defaultValue
        : value;

    setTitle(prevValue => validator(prevValue, value, maxSize));
    Ответ написан 21 окт. 2020
    Комментировать
    Нравится 1 Комментировать
  • Не работает картинка через псевдоэлемент бефор?

    0xD34F
    0xD34F @0xD34F Куратор тега CSS
    Всё работает.

    Ширина у ::before нулевая, поэтому картинки не видно.
    Ответ написан 21 окт. 2020
    2 комментария
    Нравится 2 комментария
  • Как сделать буквенную нумерацию?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    methods: {
      createAlphaIndex(num) {
        const base = 26;
        let str = '';
    
        do {
          const mod = num % base;
          num = num / base | 0;
          str = (mod ? String.fromCharCode('A'.charCodeAt(0) + mod - 1) : (--num, 'Z')) + str;
        } while(num);
    
        return str;
      },
    },

    <div v-for="i in 1000">{{ createAlphaIndex(i) }}</div>

    https://jsfiddle.net/bh0cep84/
    Ответ написан 20 окт. 2020
    1 комментарий
    Нравится 1 1 комментарий
Оценили как «Нравится»
  • ← Предыдущие
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • Следующие →
Самые активные сегодня
  • SoreMix
    SoreMix
    • 11 ответов
    • 0 вопросов
  • Dr. Bacon
    • 8 ответов
    • 0 вопросов
  • Василий Банников
    • 8 ответов
    • 0 вопросов
  • shambler81
    Виктор Таран
    • 6 ответов
    • 0 вопросов
  • Decaf
    • 6 ответов
    • 0 вопросов
  • Fallenyasha
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации