当前位置:首页 > JavaScript

js实现方阵

2026-03-14 02:31:51JavaScript

js实现方阵

js实现方阵

使用 JavaScript 实现方阵

在 JavaScript 中,方阵通常是一个二维数组,其中行数和列数相等。以下是几种常见的方阵实现方法:

创建 n×n 方阵

function createSquareMatrix(n) {
  const matrix = [];
  for (let i = 0; i < n; i++) {
    matrix[i] = [];
    for (let j = 0; j < n; j++) {
      matrix[i][j] = 0; // 初始化为0
    }
  }
  return matrix;
}

const size = 3;
const squareMatrix = createSquareMatrix(size);
console.log(squareMatrix);

填充对角线

function fillDiagonal(matrix, value) {
  for (let i = 0; i < matrix.length; i++) {
    matrix[i][i] = value;
  }
  return matrix;
}

const matrix = createSquareMatrix(4);
fillDiagonal(matrix, 1);
console.log(matrix);

方阵转置

function transpose(matrix) {
  for (let i = 0; i < matrix.length; i++) {
    for (let j = 0; j < i; j++) {
      [matrix[i][j], matrix[j][i]] = [matrix[j][i], matrix[i][j]];
    }
  }
  return matrix;
}

const original = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];
const transposed = transpose(original);
console.log(transposed);

方阵乘法

function multiplyMatrices(a, b) {
  const n = a.length;
  const result = createSquareMatrix(n);

  for (let i = 0; i < n; i++) {
    for (let j = 0; j < n; j++) {
      let sum = 0;
      for (let k = 0; k < n; k++) {
        sum += a[i][k] * b[k][j];
      }
      result[i][j] = sum;
    }
  }

  return result;
}

const matrixA = [
  [1, 2],
  [3, 4]
];
const matrixB = [
  [5, 6],
  [7, 8]
];
const product = multiplyMatrices(matrixA, matrixB);
console.log(product);

生成螺旋方阵

function generateSpiralMatrix(n) {
  const matrix = createSquareMatrix(n);
  let num = 1;
  let top = 0, bottom = n - 1, left = 0, right = n - 1;

  while (top <= bottom && left <= right) {
    for (let i = left; i <= right; i++) {
      matrix[top][i] = num++;
    }
    top++;

    for (let i = top; i <= bottom; i++) {
      matrix[i][right] = num++;
    }
    right--;

    for (let i = right; i >= left; i--) {
      matrix[bottom][i] = num++;
    }
    bottom--;

    for (let i = bottom; i >= top; i--) {
      matrix[i][left] = num++;
    }
    left++;
  }

  return matrix;
}

const spiral = generateSpiralMatrix(4);
console.log(spiral);

这些示例展示了 JavaScript 中实现方阵的基本操作,包括创建、填充、转置、乘法以及生成特殊模式的方阵。可以根据具体需求调整这些函数。

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

相关文章

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js 实现图片 放大

js 实现图片 放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性可以实现图片的平滑放大效果。结合 JavaScript 监听鼠标事件控制放大状态: con…

js实现乘法

js实现乘法

实现乘法运算的方法 在JavaScript中实现乘法运算可以通过多种方式完成,以下列举几种常见方法: 基础运算符 直接使用乘法运算符*是最简单的方式: let result = 3 * 5; //…