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

ingram 14 06 ноября 2017 →

Привет!

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

enter image description here

В тестах идет проверка, что бы имена директорий и файлов были в нижнем регистре. А в задании написано только о именах файлов.

Иван Курюкин 06 ноября 2017 →

Не понимаю, почему редьюсер не удаляет. Ментор, подскажи в чем дело. Причем tasks нормально удаляет, а в comments нет получается.

const comments = (state = {}, action) => {
  switch (action.type) {
    case 'TASK_COMMENT_ADD' : {
      const comment = action.payload.comment;
      return ({...state, [comment.id]: comment });
    }
    case 'TASK_COMMENT_REMOVE' : {
      const id = action.payload.id;
      return _.omit(state, id);
    }
    default: {
      return state;
    }
  }
};

const tasks = (state = {}, action) => {
  switch (action.type) {
    case 'TASK_ADD' : {
      const task = action.payload.task;
      return ({...state, [task.id]: task });
    }
    case 'TASK_REMOVE' : {
      const id = action.payload.id;
      return _.omit(state, id);
    }
    default : {
      return state;
    }
  }
};

const reducer = combineReducers({ comments, tasks });
export default reducer;
Expected value to equal:
      {"comments": {"1": {"id": 1, "taskId": 1}}, "tasks": {"1": {"id": 1}}}
    Received:
      {"comments": {"1": {"id": 1, "taskId": 1}, "2": {"id": 2, "taskId": 2}, "3": {"id": 3, "taskId": 2}}, "tasks": {"1": {"id": 1}}}

Robin Koinov 06 ноября 2017 →

Доброго времени суток,

Как я заметил, мне сложновато дается решений подобных задач связанных с strings. Можно ли получить еще подобные задачки с целью закрепить материал?

Весьма благодарю за отличный ресурс.

Bulat Kaliev 06 ноября 2017 →

При попытке установки пакета, просит пароль. У меня пароля нет, что может быть не так? С терминалом только знакомлюсь...

Password:
Sorry, try again.
Password:
Sorry, try again.
Password:
sudo: 3 incorrect password attempts

Sergey Erofeev 06 ноября 2017 →

Чем отличается ->fetchAll(\PDO::FETCH_COLUMN)

От ->fetchColumn();

??

Антон З. 06 ноября 2017 →

Кажется, я не понимаю задание. Ведь есть метод substring, который мы можем использовать совместно с несколькими ифами (которыми поправим входящие параметры). Или суть задания в том, чтобы притвориться, как будто метода substring нет, и нам его нужно написать самим?

ago 122 06 ноября 2017 →

Браузер не просто умеет исполнять JS, но так же предоставляет возможности по манипулированию как самим браузером (ограниченно), так и элементами на странице (посредством DOM API).

Получается, что браузер предоставляет возможности по манипулированию самим собой, причем ограниченно? Или я что-то неправильно понял?

Владислав Ярышев 06 ноября 2017 →

Застрял. Функция concat. судя по всему, в функции нужно задавать дополнительный параметр в виде пустого списка и в нем накапливать содержимое первого, а потом слеплять второй и новый. Это правильная логика? Или не совсем?

Даниил 06 ноября 2017 →

const mostDivisor = (a, b) => { // (2, 3)
    let a1 = a; // 2 , 2 , 0
    let b1 = b; // 3 , 1 , 1
    console.log(`первый`, a1, b1);
    while (a1 !== 0 && b1 !== 0) {
      if (a1 > b1) {
        a1 = a1 % b1; // (2, 1) , a1 = 0
        console.log('второй', a1, b1);
      } else if (a1 < b1 || a1 === b1) {
      b1 = b1 % a1;  // (3, 2) , b1 = 1
      console.log('третий', b1, a1);
       }
    }
  return a1 + b1;
};

export default mostDivisor;'

Почему, если я убираю второе условие else if (a1 < b1 || a1 === b1) программа падает с ошибкой, т.е. судя по console.log когда она должна выйти из цикла после первого условия, она начинает выполнять второе условие. Вроде же можно опустить else if и просто написать выражение, и это эквивалентно тому, если бы это условие было четко обозначено, или я что-то не понимаю?

Alex Weinberg 06 ноября 2017 →

Есть вот такой код:

const sequenceSum = (begin, end) => {
    if (begin > end) {
      return NaN;
    }
    if (begin === end) {
      return end;
    }
    if (begin !== end) {
    return begin + sequenceSum(begin + 1, end);
    }
};

И он нормально работает и проходит тестирование. Есть вот такой код, вроде бы аналогичный:

const sequenceSum2 = (begin, end) => {
    console.log(begin, end);
    if (begin > end) return NaN;

    begin === end ? end : begin + sequenceSum(begin + 1, end);
}

Но он не работает. Я попробовал приблизить первый ко второму:

const sequenceSum3 = (begin, end) => {
    if (begin > end) {
      return NaN;
    }
    const flag = begin === end;
    if (flag) {
      return end;
    }
    if (!flag) {
    return begin + sequenceSum(begin + 1, end);
    }
};

И он тоже работает. Почему в данном случае тернарный оператор не работает?

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

Хекслет

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