当前位置:首页 > 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实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含inpu…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…