• Как этот код работает?

    nikolayshabalin
    @nikolayshabalin
    Автор профессиональных курсов в HTML Academy
    Какая часть кода вам не понятна?
    Разберите всё на куски.

    Сохраняем двумерный массив
    let a = [ 
    [1, 2, 3], 
    [4, -10, 6], 
    [7, 8, 9] 
    ];


    Обращаемся к глобальному объекту Math, точнее к его методам min и max
    let mx = Math.max; 
    let mn = Math.min;


    Проходим по всем элементам массива и сохраняем fмаксимальное значение. Используется метод map массивов, а также новый spread оператор
    let max = mx(...a.map(e => mx(...e)));

    В этой части используется тернарный оператор, который просто сокрщает запись в такую
    max = -min > max ? min : max;

    из такой
    if (-min > max) {
    max = min;
    } else {
    max = max;
    }


    Здесь с толку могут сбить стрелочные функции. Из-за того, что массив двумерный, приходится вкладывать map в map
    let result = a.map(e => e.map(e => e / max));

    Вот может быть лучше?
    let result = a.map(function (e) {
        return e.map(function (e) {
            return e / max;
        })
    });
    Ответ написан
    2 комментария