Intl • Окончание числительных JavaScript

Поділитися
Вставка
  • Опубліковано 2 жов 2024

КОМЕНТАРІ • 61

  • @viooi2582
    @viooi2582 2 дні тому +58

    Какая то функция плохо читается, добавим ещё абстракции чтобы стало понятнее

  • @thislogindoesnotexists
    @thislogindoesnotexists 3 дні тому +55

    Чтобы использовать это, нужно скачать библиотеку с 20-ю зависимостями😂

    • @MrK0missar
      @MrK0missar 2 дні тому +2

      Соглашусь. Зачем для такой задачи использовать библиотеку...

    • @Ushjsuuhensb
      @Ushjsuuhensb 2 дні тому +23

      Это нативный объект джаваскрипта

    • @bubblesort6368
      @bubblesort6368 День тому +1

      @@thislogindoesnotexists нет никаких зависимостей) надо учить апи браузера))

    • @pavelgilmutdinov6988
      @pavelgilmutdinov6988 Годину тому

      @@Ushjsuuhensb даже если так, я и другие могут этого не знать, потом лезь смотри как оно работает, лучше привести функцию как в начале )

  • @Ktoyatakoiskazhimne
    @Ktoyatakoiskazhimne День тому +3

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

  • @9aro482
    @9aro482 4 дні тому +21

    Спасибо, стало еще непонятнее

  • @podjarkapotato
    @podjarkapotato День тому +2

    Круто, не знал вообще про интел. Пойду почитаю че еще умеет

  • @veryevilodmin
    @veryevilodmin День тому +4

    Если передаёшь русский язык, то почему оно возвращает инглиш?

    • @падласергейбестов
      @падласергейбестов 23 години тому

      потому что javascript пишется на английском языке, русский язык указывается в качестве языка для проверки

    • @veryevilodmin
      @veryevilodmin 16 годин тому

      @@падласергейбестов для проверки чего?!

    • @падласергейбестов
      @падласергейбестов 13 годин тому

      @@veryevilodmin типа числительного в русском языке

    • @minaev_mm
      @minaev_mm 11 годин тому

      Потому что если посмотришь на результат функции, то можешь понять, что это форма, а не готовый ответ

  • @Someone9379992
    @Someone9379992 День тому +1

    А зачем нам её читать? Один раз создаем некий хелпер и используем. Мы что, читать сюда пришли?

  • @ВикторВорогушин-з4й

    Вау
    Вместо создания функции мы ее импортируем
    По факту нияего не поменялось

    • @FobosWorld
      @FobosWorld 2 дні тому +1

      Чел не пиши код никогда, если ты не понимаешь зачем нужны абстракции и обёртки над библеотеками, тебе это не надо

    • @timur2887
      @timur2887 День тому +1

      @@FobosWorld а ты не пиши комментарии, это не твое)

    • @FobosWorld
      @FobosWorld День тому

      @@timur2887 Та ты гуру аргументов

  • @sergy-ant
    @sergy-ant 2 дні тому +3

    все что я услышал это музыка майнкрафта XD

  • @leftblank5315
    @leftblank5315 20 годин тому

    Функция возвращает кучу стрингов но тем не менее мы будем писать else if и else...

  • @goldstein1
    @goldstein1 4 дні тому +3

    Так, по порядку
    1) Спасибо за качественное видео
    2) Спасибо за использование Intl
    3) Функция могла бы быть несколько лучше, ибо массив в качестве второго аргумента - прохладная идея
    Разве не лучше использовать объект? Это в разы улучшает читаемость и поддержку

    • @kakieToYroki
      @kakieToYroki  4 дні тому +1

      Ну, тут уже как захочется можно сделать. Я всегда через массив делаю, мне так удобней )

    • @goldstein1
      @goldstein1 4 дні тому +1

      @@kakieToYroki будут страдания, если понадобится поддерживать второй язык, у которого другая система, и некоторые айтемы необязательные (английский, к примеру)
      А массив заставит писать что-то вроде [item, items, items...]
      Если захочется этого избежать, придется переставить некоторые элементы массива местами, чтобы они стали необязательными
      И вот тут начнется веселье, тк типизация такой перестановки не из приятных
      Ни к чему не призываю, просто подсветил

    • @kakieToYroki
      @kakieToYroki  4 дні тому

      @goldstein1 да, хороший кейс

    • @vladislav.filipov
      @vladislav.filipov День тому

      ​@@goldstein1 согласен, + я бы создал объект со всеми этими данными и передавал ключ вторым аргументом (конечно же, используя TS), ибо в реальном проекте каждый раз передавать такие данные будет не очень удобно, имхо

  • @david_coder
    @david_coder 14 годин тому

    const getPurelValues = (count, rules) => {
    const result = new Intl.PluralRules('ru-RU').select(count);
    const values = {
    one: `${count} ${rules[0]}`,
    few: `${count} ${rules[1]}`,
    };
    // Return matching plural form or fallback to the "other" form
    return values[result] || `${count} ${rules[2]}`;
    };
    console.log(getPurelValues(50, ['admin', 'admins', 'admino']));

  • @artembarskyi7847
    @artembarskyi7847 День тому

    Лайк за фоновую музыку

  • @gvozdod2456
    @gvozdod2456 22 години тому +1

    21 админов?

  • @MrFunny01
    @MrFunny01 День тому

    Эта библиотека привяжет еще 20 зависимостей и кучу циклов процессора вместо обычных операций сравнения.

    • @minaev_mm
      @minaev_mm 11 годин тому

      Так привяжет, что нативно во всех браузерах уже есть…

  • @ДмитрийДмитриевич-ы2о

    Слово должно быть во множественном числе? Это как

    • @matw31
      @matw31 День тому +1

      Чтобы было 10 слов, вместо 10 слово

  • @SharovYAlex
    @SharovYAlex День тому

    слова по отдельности понятны, а вот смысл в ролике отсутствует

    • @kakieToYroki
      @kakieToYroki  День тому

      Смысл упростить реализацию до максимально читаемой и избавиться от магических цифр

  • @alexdeath8520
    @alexdeath8520 День тому

    Красильщики кнопок все сталкиваются с проблемами?(

    • @kakieToYroki
      @kakieToYroki  День тому

      Да, крудописатели гадости пишут (((

    • @alexdeath8520
      @alexdeath8520 День тому

      @@kakieToYroki это ужасно

  • @heimse
    @heimse 4 дні тому

    Действительно, в этом случае еще труднее усваивать что именно написано

  • @СергейК-б6н
    @СергейК-б6н 4 дні тому

    Самый серьёзный айти блогер рунета 😎

  • @ДмитрийВяткин-и3р
    @ДмитрийВяткин-и3р 21 годину тому

    Да можно ещё проще сделать через % и пару тернарных, и забыть про функцию вообще

    • @minaev_mm
      @minaev_mm 11 годин тому

      А потом переделывать весь код, когда нужно будет добавить ещё один язык 🤔

    • @ДмитрийВяткин-и3р
      @ДмитрийВяткин-и3р 11 годин тому

      @@minaev_mm зачем переделывать? Аналог сделать для нового языка и всё, это намного эффективней будет и оптимизированней для проекта

    • @minaev_mm
      @minaev_mm 11 годин тому

      @@ДмитрийВяткин-и3р а зачем городить костыли и отлаживать их, когда есть удобный инструмент, сделанный умными разработчиками и который поддерживается во всех браузерах с 2014 года?

    • @ДмитрийВяткин-и3р
      @ДмитрийВяткин-и3р 11 годин тому

      @@minaev_mm через сколько функций ещё переходит переменная? Плюс ради двух языков всю библиотеку скачивать не рационально, которая необходима для 1 языка, можно заменить одной строкой без всяких дополнений? Где выгода? 1 строка с 2 тернарными или библиотека для всех языков? Оптимизацию плохо видишь похоже

  • @DIMaslov1904
    @DIMaslov1904 День тому

    Что?
    Решение в одну строчку:
    function declOfNum(number, words) {
    return words[(number % 100 > 4 && number % 100 < 20) ? 2 : [2, 0, 1, 1, 1, 2][(number % 10 < 5) ? Math.abs(number) % 10 : 5]];
    }

    • @YakovSux
      @YakovSux 19 годин тому

      Спасибо бро

    • @minaev_mm
      @minaev_mm 11 годин тому

      Зачем? Что бы что?

    • @DIMaslov1904
      @DIMaslov1904 5 годин тому

      @@minaev_mm просто. Но суть тут больше в отсутствии зависимостей

    • @kakieToYroki
      @kakieToYroki  5 годин тому

      А какие зависимости присутствовали в видео?

  • @javadeveloperenjoyer9920
    @javadeveloperenjoyer9920 3 дні тому

    Задача с codewars

  • @СергейК-б6н
    @СергейК-б6н 4 дні тому

    Красава

  • @vladpoezzhaev4616
    @vladpoezzhaev4616 3 дні тому

    Агонь :)

  • @fromnsk
    @fromnsk 23 години тому

    Руки бы отрывал за то что на отдельную строку переносят что-то типа 'ru-RU' 😡

    • @kakieToYroki
      @kakieToYroki  23 години тому

      Иначе нифига не видно будет. Вы же с телефона шортсы смотрите, а не с пк )

    • @nightdreamer3339
      @nightdreamer3339 15 годин тому

      @@kakieToYroki я тот самый юзер, смотрящий их всегда с пк 😅

    • @kakieToYroki
      @kakieToYroki  15 годин тому

      @nightdreamer3339 вас таких 18%. Ты не одинок )

  • @araz911
    @araz911 2 дні тому

    ть что высрал опять