当前位置:首页 > JavaScript

js实现矩阵

2026-01-31 23:14:08JavaScript

矩阵的创建与初始化

在JavaScript中,矩阵可以通过二维数组实现。创建一个3x3的零矩阵:

const matrix = [
  [0, 0, 0],
  [0, 0, 0],
  [0, 0, 0]
];

动态初始化NxM矩阵:

function createMatrix(rows, cols, defaultValue = 0) {
  return Array.from({ length: rows }, () => 
    Array.from({ length: cols }, () => defaultValue)
  );
}
const myMatrix = createMatrix(2, 3); // 2行3列的零矩阵

矩阵基本运算

矩阵相加:

function addMatrices(a, b) {
  return a.map((row, i) => 
    row.map((val, j) => val + b[i][j])
  );
}

矩阵转置:

function transpose(matrix) {
  return matrix[0].map((_, colIndex) => 
    matrix.map(row => row[colIndex])
  );
}

矩阵乘法实现

矩阵乘法需要满足第一个矩阵的列数等于第二个矩阵的行数:

function multiplyMatrices(a, b) {
  const result = [];
  for (let i = 0; i < a.length; i++) {
    result[i] = [];
    for (let j = 0; j < b[0].length; j++) {
      let sum = 0;
      for (let k = 0; k < a[0].length; k++) {
        sum += a[i][k] * b[k][j];
      }
      result[i][j] = sum;
    }
  }
  return result;
}

特殊矩阵生成

生成单位矩阵:

function identityMatrix(size) {
  return Array.from({ length: size }, (_, i) =>
    Array.from({ length: size }, (_, j) => 
      i === j ? 1 : 0
    )
  );
}

生成对角矩阵:

function diagonalMatrix(diagonal) {
  const size = diagonal.length;
  return Array.from({ length: size }, (_, i) =>
    Array.from({ length: size }, (_, j) => 
      i === j ? diagonal[i] : 0
    )
  );
}

矩阵实用操作

获取矩阵行列数:

const rows = matrix.length;
const cols = matrix[0].length;

矩阵克隆:

const cloned = matrix.map(row => [...row]);

矩阵打印:

js实现矩阵

function printMatrix(matrix) {
  matrix.forEach(row => console.log(row.join(' ')));
}

标签: 矩阵js
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数:…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…

js实现删除

js实现删除

使用 splice 方法删除数组元素 splice 方法可以删除数组中的元素,并返回被删除的元素。它接受两个参数:起始索引和要删除的元素数量。 const array = [1, 2, 3, 4…