当前位置:首页 > JavaScript

js实现方阵

2026-04-05 20:39:21JavaScript

实现方阵的方法

使用JavaScript实现方阵可以通过多种方式完成,具体取决于需求。以下是几种常见的实现方法:

使用二维数组创建方阵

通过嵌套数组可以轻松创建方阵。以下代码生成一个n×n的方阵,并初始化所有元素为0:

function createSquareMatrix(n) {
    let matrix = [];
    for (let i = 0; i < n; i++) {
        matrix[i] = [];
        for (let j = 0; j < n; j++) {
            matrix[i][j] = 0;
        }
    }
    return matrix;
}

动态填充方阵元素

如果需要动态填充方阵元素,可以通过回调函数实现:

js实现方阵

function fillSquareMatrix(n, fillCallback) {
    let matrix = [];
    for (let i = 0; i < n; i++) {
        matrix[i] = [];
        for (let j = 0; j < n; j++) {
            matrix[i][j] = fillCallback(i, j);
        }
    }
    return matrix;
}

使用Array.from简化创建

利用Array.from可以更简洁地生成方阵:

function createSquareMatrix(n) {
    return Array.from({ length: n }, () => Array(n).fill(0));
}

方阵的转置

转置方阵可以通过交换行和列实现:

js实现方阵

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

方阵乘法

实现两个方阵的乘法:

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

使用ES6类封装方阵

通过类的方式封装方阵操作:

class SquareMatrix {
    constructor(n, initialValue = 0) {
        this.matrix = Array.from({ length: n }, () => Array(n).fill(initialValue));
    }

    get(row, col) {
        return this.matrix[row][col];
    }

    set(row, col, value) {
        this.matrix[row][col] = value;
    }

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

以上方法涵盖了方阵的创建、填充、转置和乘法等基本操作,可以根据实际需求选择适合的实现方式。

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

相关文章

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取所有…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <di…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…