Задать вопрос
  • Как работает этот код?

    @4aeBap
    Просто смотрю задачки :)
    1 строка - функция с значениям arr, a , b;
    2 строка - цикл который считывает с массива arr числа 5, 3, 8, 1;
    3 строка - присваивает переменной val значение arr[i];
    4 строка - если переменная val меньше a или больше b ;
    5 строка - удаляет i значений по индексу 1
    ( https://developer.mozilla.org/ru/docs/Web/JavaScri... );
    6 строка - уменьшает i на 1 раз;
    Ответ написан
    Комментировать
  • Как работает этот код?

    @applecode
    arr.splice(i, 1); -> удалил элемент из массива
    i-- -> декримируешь после удаление потому что, массив уменьшился в длине.
    Без него в val попал был элемент через один, а не следующий
    Ответ написан
    Комментировать
  • Как работает этот код?

    joeberetta
    @joeberetta Куратор тега JavaScript
    Читай: https://epdf.pub/google-for-dummies.html
    function filterRangeInPlace(arr, a, b) {
    
      for (let i = 0; i < arr.length; i++) {
        let val = arr[i];
    
        if (val < a || val > b) {
          // Удалить элемент из массива, если он меньше а или больше b
          arr.splice(i, 1);
          i--; // Уменьшить итератор, т.к. перед этим удалили элемент, тем самым сократили массив на 1 элемент
        }
      }
    
    }
    
    let arr = [5, 3, 8, 1];
    
    filterRangeInPlace(arr, 1, 4); 
    
    alert( arr ); // [3, 1]


    SagePtr уже дал наводку на верный ответ
    Ответ написан
    Комментировать