Задать вопрос
Начинающий js разработчик, интересует native js, react, redux, react-native, ruby, ruby on rails, unix, vim
Контакты

Достижения

Все достижения (7)

Наибольший вклад в теги

Все теги (33)

Лучшие ответы пользователя

Все ответы (34)
  • Почему и зачем вместе с Ruby on Rails используют Angular или React.js?

    @undefined_title
    Когда на клиенте нужен SPA, все должно работать без перезагрузки страницы, или много много действий с DOM, тогда отдельно пишут фронтенд и бекенд, потому что если использовать тот же ajax при дальнейшей разработке приложения будет тяжело поддерживать. Советую учить-использовать React-Redux, сейчас такая связка на фронтенде очень популярна из за компонентного подхода и использования данных по flux идеи.
    Ответ написан
    1 комментарий
  • Как перебрать массив?

    @undefined_title
    //var initialData = [1, 9, 4, 95, -3, 51, 6, 9, 4, 4,-9, 88, 27];
    var initialData = [2, 2, 2, 2, 2, 2, 2, 2, 2, 2];
    
    var wayFirst = function(data) { 
      var sum = 0;
      data.forEach( (value) => {sum = sum + value} )
      return sum;
    }
    
    var waySecond = function(data) {
      var sum = 0;
      data.forEach( (value, i) => {
        i % 2 === 0 ?  sum = sum + value : false
      })
      return sum;
    }
    
    var wayThird = function(data) {
      var sum = 0;
      var iTemp = 0
      data.forEach( (value, i) => { 
        if (!iTemp || iTemp + 4 === i)  { 
          sum = sum + value;
          iTemp === 0 ? iTemp = 1 : iTemp = i;
        } 
      })
      return sum;
    }
    
    console.log(wayFirst(initialData));
    console.log(waySecond(initialData))
    console.log(wayThird(initialData))


    сделал через forEach но через reduce было бы немного компактнее

    или если надо получать не значения а засумированные элементы с интервалом
    const initialData = [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
    
    let sumArrayWithInterval = (data, interval) => { 
      const sumWithIntervel = []; 
      let next = 0;
      data.forEach((value, i) => {
        if (next === i) { 
          const valueIndex = interval === 1 ? 1 + i : interval + 1 + i;
          
          data[valueIndex] ? sumWithIntervel.push(value + data[valueIndex]) : false
          interval === 1 ? next = i + interval + 1 : next = valueIndex + 1
        }
      })
      return sumWithIntervel;
    }
    console.log(
          sumArrayWithInterval(initialData, 1)
    );
    
    console.log( 
        sumArrayWithInterval(
          sumArrayWithInterval(initialData, 1)
        , 2)
    );
    
    console.log( 
      sumArrayWithInterval(
        sumArrayWithInterval(
          sumArrayWithInterval(initialData, 1)
        , 2)
      , 4)
    );
    Ответ написан
    Комментировать
  • Простым языком о замыканиях?

    @undefined_title
    Это когда ты при объявлении функции имеешь доступ к переменным окружающей функции, именно и для этого доступа к переменным замыкание и используется
    Ответ написан
    Комментировать
  • Лексическое окружение, контекст вызова. Почему это разные понятия?

    @undefined_title
    Лексическое окружение - это все локальные переменные функции, Определяется во время создания функции, есть еще понятие скоуп - это переменные которые доступны из другой функции и они берутся из замыкания.
    Контекст вызова - это ссылка на объект из которого вызывается метод, это определяется во время вызова( кроме es6 arrow), то есть `a.b.c.call()` a.b.c будет контекстом вызова для метода call.
    Ответ написан
    Комментировать
  • Как научиться пользоваться ОС без мышки?

    @undefined_title
    учи хоткеи во всех приложениях которыми пользуешься, поставь linux и на него window-manager, закастомизируй и настрой хоткеи под себя, по возможности пользуйся терминалом, тренируй скорость печати - слепой набор. полезно было бы научиться работать с vim модом, скорость работы в редакторе увеличить на много, поставь в браузер расширение vimium - сможешь серфить без мышки. но при всем этом управлять курсором иногда будет более удобно и где то без него вообще не обойтись, например в том же фотошопе.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (97)