当前位置:首页 > 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实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现验证码

js实现验证码

实现验证码的JavaScript方法 生成随机验证码 使用Math.random()生成随机字符串,结合数字和字母: function generateCaptcha() { const cha…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现跑马灯

js实现跑马灯

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