• Как найти самое большое число в подмасиве?

    Stalker_RED
    @Stalker_RED
    Это вообще в одну строку делается.
    var input = [
      [-1,-3,-2],
      [1,3,5],
      [2,6,3],
      [7,3,3]
    ];
    
    var result = input.map(a=>a.reduce((a, b)=>Math.max(a, b))) // all magic here
    
    console.log(result) // [-1,5,6,7]


    UPD: То-же самое, но подробнее:
    var result = input.map(function(subArray) { 
      return subArray.reduce(function(prev, current){
        return Math.max(prev, current);
      })
    })

    array.map() - делает какие-то вычисления с каждым элементом массива, в нашем случае со "строкой" из двумерного массива. Возвращает новый массив с результатами.

    array.reduce() - проходит по всем элементам массива, возвращает один элемент.
    Например
    [1,2,3,4,50].reduce((prev, current)=>prev + current)
    вернет сумму всех элементов.

    Math.max() - сравнивает два числа, возвращает то что побольше.

    => - стрелочная функция.
    Позволяет записать короткие анонимные функции еще короче.
    В основном за счет экономии на словах function и return. Если у функции только один аргумент на входе, или только одно действие, то можно еще и скобочки выбросить.

    var x = function (element) {
      return element.width
    }
    превращается в
    var x = element => element.width

    UPD2: как подсказывает Panya, можно написать еще короче:
    var result = input.map(a=>Math.max.apply(null,a))
    Ответ написан
  • Как узнать какая из двух кнопок была нажата?

    $('button').click(function () {
        alert($(this).attr('id'));
    }
    Ответ написан
    Комментировать