Oletem
10/4/2017 - 5:27 PM

Largest Numbers in Arrays

Return an array consisting of the largest number from each provided sub-array. For simplicity, the provided array will contain exactly 4 sub-arrays.

Remember, you can iterate through an array with a simple for loop, and access each member with array syntax arr[i].

Remember to use Read-Search-Ask if you get stuck. Write your own code.

Here are some helpful links:

function largestOfFour(arr){
  var largest = [0,0,0,0,]; //Пустой вериебл для аутпута с числовыми данными 0-0-0-0 для первого сравнения в  иф
  
  for(var i = 0; i< arr.length; i++){// весь еррей
    
    for(var j = 0; j<arr[i].length; j++){// нырок глубже к каждому из четырех
      
      if (arr[i][j]>largest[i])/*если цифра в одном из четырех еррев больше одного из largest = [0,0,0,0,] 
      - одной позиции [] в largest, а в нем позиции 0,1,2,3 - четыре. 
      Каждый ерреей отдает свое большее чеисло в одну \ячейку. 
      Еррей заканчивается и идет переход к другому, как только 
      одно из чисел в нем, которое постоянно перезаписывается в один из [0,0,0,0] 
      largest не оказывается наибольшим в своем еррее(одном из четырех)*/ 
      
      {largest[i] = arr[i][j];// сохраняй, как один из largest = [0,0,0,0,]
      
      }
    }
  
  }return largest;
  


} largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

/*-----------------------------------------Map and reduce method-----------------------------------------------------------*/


function largestOfFour(arr) {
return arr.map(function(what){/*берем наш еррей и запускаем его в map, котороый

The map() method creates a new array with the results of calling a provided 

function on every element in the calling array. Вкратце - Создает новый еррей - с самымим большими числами,

в нашем случае и возвращает данные выполняемой функции из текущего еррея. 

то есть работает с каждым из [[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]

*/
        
        return what.reduce(function(prev,current){/*функция, которую он выполняет в итерируещем map
        
        - любое действие по сути, просто без условий и длинн. Здесь это функция reduce
        
        которая сводит два числа в еррее предыдущее - слудующее к одному. при чем
        по нужному нам принципу - оставляя большее. Тое сть от reduce здесь на 
        
        абстрактном уровне мы берем аргументы - следующий, предыдущий и суть - останется
        один, сведение к единому числу, не к сумме., как обычно*/
                               
                               
      return (current>prev)?current : prev;                         });
        
        }, 0);
}

largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);