Сложение и вычитание матриц
Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 10 из 65.
Чтобы сложить или вычесть две матрицы, они должны иметь одинаковые размеры (т. е. одинаковое количество строк и столбцов). Операция выполняется поэлементно, что означает сложение или вычитание соответствующих элементов в каждой матрице.
Например:
Matrix A:
1 2
3 4
Matrix B:
5 6
7 8
A + B:
(1+5) (2+6)
(3+7) (4+8)
Result:
6 8
10 12Умножение матриц более сложное, и оно будет рассмотрено в одном из следующих разделов.
Задание
ЛегкоСоздайте функцию с именем combineMatrices, которая принимает три аргумента: matrixA, matrixB и строку op, которая может быть либо "+", либо "-". Для каждой ячейки, если op равно "+", результатом должно быть matrixA[r][c] + matrixB[r][c]. В противном случае, если op равно "-", результатом должно быть matrixA[r][c] - matrixB[r][c].
Шпаргалка
Сложение и вычитание матриц требуют, чтобы матрицы имели одинаковые размеры. Операции выполняются поэлементно над соответствующими элементами.
Пример сложения матриц:
Matrix A:
1 2
3 4
Matrix B:
5 6
7 8
A + B:
(1+5) (2+6)
(3+7) (4+8)
Result:
6 8
10 12Попробуйте сами
function combineMatrices(matrixA, matrixB, op) {
// TODO: Для каждой ячейки, если op равно '+', сложите соответствующие ячейки.
// В противном случае вычтите их. Верните результирующий двумерный массив.
}
// Не пишите ничего вне функцииВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и поток
1Строки в деталях
Основы работы со строкамиИтерация по строкамШаблонные литералыМетоды строкИтоги — String Weaver4JSON Часть 2
Итерация по JSONВложенный JSONОпциональная цепочка JSONПоверхностное и глубокое копированиеПовторение — Магазин велосипедовПовторение — Солнечная система7Система управления библиотекой
Обзор проектаДобавление книг10Управление системой фестиваля
Обзор проектаДобавление фильмов и площадок2Многомерные массивы
Основы 2D массивовДоступ к элементам 2D массиваВложенные циклы и 2D массивыПовторение: 2D массивыСложение и вычитание матрицСтупенчатые массивы3D массивы и далееРаспространенные паттерны 2D массивовПовторение: всё о массивах5Множества. Часть 1
Что такое множество?Итерация по множествамДобавление элементаУдаление элементаПроверка наличия элементаРазмер и проверка на пустотуКопирование и очисткаИтоги — Основы множеств8Интересные темы о массивах
Деструктуризация массивовСинтаксис Spread в массивахРазреженные массивыИтоги — Воркшоп по массивам3JSON. Часть 1
Что такое JSON?Проверка наличия ключаМетоды объектовОператор spread. Часть 1Оператор spread. Часть 2Удаление ключейПовторение: манипуляции с ключами JSON