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

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

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

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

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

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

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

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

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

Eugene Chefranov

Новичок
  • 367
    вклад
  • 116
    вопросов
  • 527
    ответов
  • 47%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как найти значения в другом массиве объектов?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    array2.filter(function(n) {
      return this.has(n.code);
    }, new Set(array1.map(n => n.value)))

    или

    array1.map(function(n) {
      return this[n.value];
    }, Object.fromEntries(array2.map(n => [ n.code, n ])))
    
    /*
     * если вдруг в array1 могут быть объекты, value которых отсутствует среди code в array2,
     * то после map'а надо будет сделать фильтрацию, .filter(Boolean), например
     */

    или

    array2.filter(n => array1.some(m => m.value === n.code))
    Ответ написан 16 часов назад
    Комментировать
    Комментировать
  • Как найти значения в другом массиве объектов?

    Rsa97
    Rsa97 @Rsa97
    Для правильного вопроса надо знать половину ответа
    const array1 = [{ value: '0E1' }, { value: '8B3' }];
    const array2 = [
      { code: '0E1', desc: 'Some text' },
      { code: '8B3', desc: 'Some text' },
      { code: '9N8', desc: 'Some text' },
    ];
    const filter = array1.map((el) => el.value);
    const result = array2.filter((el) => filter.includes(el.code));
    console.log(result);
    // Array [ {…}, {…} ]
    ​//  0: Object { code: "0E1", desc: "Some text" }
    ​//  1: Object { code: "8B3", desc: "Some text" }
    Ответ написан 16 часов назад
    Комментировать
    Комментировать
  • Где ошибка в условии?

    delphinpro
    Сергей delphinpro @delphinpro Куратор тега JavaScript
    frontend developer
    Ошибок нет. Код должен работать правильно.
    Скобки лишние, но в целом они не мешают.

    UPD
    Вообще можно упростить этот частный случай. По сути возвращается то, что уже в subtype, кроме случая с warning
    {
      type: m.subType === 'warning' ? 'warn' : m.subType
    }


    А лучше вообще отказаться и использовать приходящее значение

    {
      type: m.subType,
    }
    Ответ написан 01 нояб. 2022
    Комментировать
    Комментировать
  • Где ошибка в условии?

    Casufi
    Владимир @Casufi
    Немає помилок
    const messages = [{
        id: 1,
        subType: 'warning'
      },
      {
        id: 2,
        subType: 'info'
      },
      {
        id: 3,
        subType: 'some'
      },
    ];
    const newMessages = messages.map(({id, subType}) => ({
      explanation: '',
      messageid: id,
      type: (subType === 'warning') ? 'warn' : (subType === 'info') ? 'info' : 'error'
    }));
    
    console.log(newMessages);
    Ответ написан 01 нояб. 2022
    Комментировать
    Комментировать
  • Можно ли автоматически расставлять иконки на MacOS 10.8.5?

    DevMan
    DevMan @DevMan
    открыть finder, нажать cmd + j, поставить нужные параметры.
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Как лучше передать файлы с windows на mac os?

    Drno @Drno
    Type-c как уже указали не заработает

    Лично я бы - расшарил папку на винде в сеть и скопировал бы файлы

    Либо установил Filezilla Server и скопировал по ФТП... быстро,удобно,есть докачка
    Ответ написан 15 сент. 2022
    Комментировать
    Комментировать
  • Как реализовать отображение блока в шаблоне Wordpress при выполнении условия?

    AntonLitvinenko
    Антон Литвиненко @AntonLitvinenko
    HTML coder
    вы не поверите
    if (category_description()) {
      echo category_description();
    }
    Ответ написан 18 авг. 2022
    2 комментария
    2 комментария
  • Как защитить видео на сайте?

    sergiks
    Сергей Соколов @sergiks Куратор тега Веб-разработка
    ♬♬
    Делал сто лет назад проект с видеоуроками. На Амазоне в S3 лежали файлы, раздавались в плеер через CloudFront.

    Перед каждым воспроизведением генерилась уникальная ссылка с подписью, которая привязана ко времени и «живёт» недолго – см. Signed URLs

    Так что если решили вопрос с оплатой Амазона, я бы рекомендовал через них реализовать.

    Или посмотрите сервис Kinescope.ru – они предлагают услугу доставки контента и его защиты.
    Ответ написан 18 авг. 2022
    1 комментарий
    1 комментарий
  • Как защитить видео на сайте?

    dimonchik2013
    Dimonchik @dimonchik2013
    non progredi est regredi
    посмотрите на wistia.com, в хитори нашел
    видел на одном канале и просто скачать не получилось, увы - не помню технически как было сделано, и УРЛ забыл
    Ответ написан 18 авг. 2022
    Комментировать
    Комментировать
  • Как посчитать шорткоды в контенте?

    maksam07 @maksam07
    $shortcode_count = mb_substr_count($content, '[my-shortcode]')
    for($i=0;$i<$shortcode_count;$i++){
        //
    }

    Такое нужно?
    Ответ написан 17 авг. 2022
    Комментировать
    Комментировать
  • Как получить ID с помощью регулярки?

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

    approximate_solution
    approximate solution @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    tgmpluginactivation.com
    Насколько я помню он, позволял на первом окне при установке темы выводить сообщение о необходимости установить нужные плагины. Почитайте доку.
    https://oddstyle.ru/wordpress-2/stati-wordpress/is...
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как перенести ось вниз?

    akelsey
    akelsey @akelsey
    Выделить ось, курсором мыши, правой кнопкой "Format Axis":
    5f2280765894e311258500.png

    Далее "Label" -> "Label Postions":
    5f2280821afc1402489865.png

    Выбрать Low or High.
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как отсортировать подобный массив объектов?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    const sortedArr = arr
      .map(n => [ n, +(n.price.new ?? n.price).replace(/\D/g, '') ])
      .sort((a, b) => b[1] - a[1])
      .map(n => n[0]);
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как заполнить поле в зависимости от содержимого ячейки?

    Oleg @Oleg_F
    Как вариант, можно использовать формулу впр()
    Для вашего примера, В ячейку g2, напишите =впр(b2;$l$2:$m$21;2;0) и растяните формулу на весь дапазон G-L
    Ответ написан более двух лет назад
    1 комментарий
    1 комментарий
  • Как из полученного объекта оставить нужные даные?

    hzzzzl
    hzzzzl @hzzzzl
    Object.entries(data).map(([k, v]) => ({text: v.Label, value: k}))


    5edfab7028eab888482630.png
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как сверстать такой элемент?

    Amenothis @Amenothis
    Ответ написан более двух лет назад
    9 комментариев
    9 комментариев
  • Как сократить условие?

    mindtester
    # @mindtester Куратор тега C#
    https://www.youtube.com/watch?v=Dn9_ogWhk9s
    суммируя идеи (и еще кортежи докинем..)
    // подправил для наглядности
    using System;
    using System.Linq;
    
    namespace SiO2
    {
        class Program
        {
            static void Main(string[] args)
            {
                var name = "SiO2 (полиморф.)";
                var curTemp = 846.15;
                var (h, s, a, b, c) = (-1f, -1f, -1f, -1f, -1f);
    
                var names = new string[]
                {
                    "SiO2 (β-кварц)",
                    "SiO2 (α-кварц)",
                    "SiO2 (α-тридимит)",
                    "SiO2 (β-кристобалит)",
                    "SiO2(к) кварц",
                    "SiO2(к) тридимит",
                    "SiO2(к) кристобалит",
                    "SiO2 (полиморф.)"
                };
    
                var values = new (float, float, float, float, float)[]
                {
                    (-217.75F, 10.00F, 11.22F,   8.2F, -2.70F),
                    (-217.60F,  0.00F, 14.41F,  1.94F,  0.00F),
                    (-216.50F, 10.40F, 13.64F,  2.64F,  0.00F),
                    (-215.95F, 10.19F,  4.28F, 21.06F,  0.00F)
                };
    
                if (names.Contains(name))
                {
                    if (curTemp <= 846.15)
                        (h, s, a, b, c) = values[0];
                    else if (curTemp >= 846.15)
                        (h, s, a, b, c) = values[1];
                    else if (curTemp >= 1143.15)
                        (h, s, a, b, c) = values[2];
                    else if (curTemp >= 1743.15)
                        (h, s, a, b, c) = values[3];
                }
    
                Console.WriteLine(h);
                Console.WriteLine(s);
                Console.WriteLine(a);
                Console.WriteLine(b);
                Console.WriteLine(c);
            }
        }
    }

    при этом глядя на численные величины, у меня сомнение, что возможно их можно и к функциям привести. но это уже вам надо смотреть по условиям задачи
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как правильно построить строку?

    firedragon
    Владимир Коротенко @firedragon
    Senior .NET developer
    StringBuilder sb = new StringBuilder();
     sb.Append("первая");
     sb.Append("вторая");
    if(value != 1)  sb.Append("строка не равная 1");
    
     sb.Append("третья");


    https://docs.microsoft.com/ru-ru/dotnet/api/system...
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
  • Как сократить условие?

    d-stream @d-stream
    Готовые решения - не подаю, но...
    Напрашивается Dictionary https://docs.microsoft.com/ru-ru/dotnet/api/system...

    где ключом будет name, а значением - примитивный класс/структуру из 4 полей

    и тогда инициализация словаря вынесется в отдельный блок (и например можно будет его подгружать из хранилища)

    а поиск:
    h=Dic[""SiO2 (β-кварц)""].h;
    s=Dic[""SiO2 (β-кварц)""].s;
    ...
    Ответ написан более двух лет назад
    1 комментарий
    1 комментарий
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • Следующие →
Самые активные сегодня
  • Sozdavan
    • 15 ответов
    • 0 вопросов
  • Evgenii
    • 12 ответов
    • 0 вопросов
  • mayton2019
    • 7 ответов
    • 0 вопросов
  • Dr. Bacon
    • 7 ответов
    • 0 вопросов
  • Drno
    • 6 ответов
    • 0 вопросов
  • Vindicar
    Vindicar
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

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

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