Сообщество Хекслета

Konstantin Semenov 23 декабря 2017 →

Unexpected use of ''. Это можно вылечить только исключением из проверки линтера?

Konstantin Semenov 23 декабря 2017 →

число в массие встречается

число, который

Нашел пару очепяток в Задании.

Askarov Alikhan 23 декабря 2017 →

хохо, и опять листочек помог после 20 минутной затупки)

Филипп Арестов 23 декабря 2017 →

https://ru.hexlet.io/code_reviews/31713 (тут спойлер!) автолинтер выделяет ошибкой импорт файла как с расширением, так и без. кроме того, не первый раз вижу что он имеет замечания и по поводу решения учителя. как правильно? может авто-ревью еще не до конца доделан, или это лишь примерные ориентиры?

Андрей Нерсесян 23 декабря 2017 →

Почему бы просто не использовать функцию strrev?

Дмитрий Рытиков 23 декабря 2017 →

При редактировании поста в решении учителя по id находим нужный пост (const post) и меняем у него свойства:

post.title = title;
post.body = body;

А каким образом после этой операции меняются нужные свойства у поста в массиве posts?

Евгений Макеев 22 декабря 2017 →

В решении учителя все же присутствует один if и тернарный оператор. Оцените пожалуйста такое решение решение без ифов

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

Zakary Kononov 22 декабря 2017 →

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

В частности, не понятно поведение map.set я долго парился над тем как запихнуть в map по порядку эти "ключ => значение", сперва думал, что в теории подсказка

Иногда бывает нужно создать Map для уже существующих данных. Такой способ работы также предусмотрен через конструктор. Правда в этом случае придется подготовить данные определенным способом: const map = new Map([['key', 'value'], ['anotherKey', 'anotherValue']]);

и пытался в аккумуляторе функции reduce сформировать этот список, чтобы потом его в map кинуть/ но не вышло.

долго не мог сообразить, что в качестве аккумулятора можно прокинуть new Map(), это отчасти потому, что не понятно было как работает свойство set

я изначально предполагал, что set только создает "ключ => значение", оказывается с его помощью можно еще перезаписывать предыдущее значение без изменения индекса ключа.

в моем понимании, когда я написал такой код

if (map.has(value)) {
        return map.set(value, acc.get(value) + 1);
      }
      return map.set(value, 1);
  1. то при первом значении массива (в моем коде это переменная value) = 'hello'

будет вызван этот код return map.set(value, 1);

map будет содержать [hello: 1]

  1. далее... value = 'h'

будет вызван этот код return map.set(value, 1);

map будет содержать ['hello': 1], ['h': 1]

  1. далее... опять value = 'hello'

будет вызван этот код return map.set(value, acc.get(value) + 1);

map будет содержать ['hello': 1], ['h': 1], ['hello': 2]

и тд

В общем для себя усвоил, что у свойства set есть особое поведение похожее на динамическое обновление объекта.

Я бы посоветовал для таких же тугодумов, как я, сделать об этом пометку.

Даниил 22 декабря 2017 →

const sum = (num1) => {
    const conv = String(num1);
    let result = 0;
    console.log(result);
    for (let i = 0; i < conv.length; i += 1) {
    result += Number(conv[i]);
    }
  return result;
};

 const addDigits = (num) => {
  if (num <= 9)
    return num;
  else {
    let result = '';   
    for (let i = 0; result.length === 0; i += 1) {
    result = sum(num);
    }
    return Number(result);
  }
};
export default addDigits;

Не могу понять в чем проблема... Все работает до тех пор, пока складывать числа нужно не больше одного раза. Запускаю console.log и вообще не могу понять откуда в переменных появляются отображаемые цифры.

Артём Иванец 22 декабря 2017 →

функциональное программирование - прсто красота, получил истинное наслаждение от реешния учителя

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Javascript, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →