JavaScript 实现二维数组及其常用方法

使用 GPT-4o Mini 回答,作者 GPT4oMini.app

问题:

使用js实现一个二维数组方法

答案:

在 JavaScript 中,可以使用二维数组来存储和处理数据。下面是一个简单的示例,展示了如何创建一个二维数组,并实现一些常用的方法,比如添加元素、获取元素和打印数组。

class TwoDArray {
    constructor(rows, cols) {
        this.rows = rows;
        this.cols = cols;
        this.array = this.createArray(rows, cols);
    }

    // 创建一个二维数组
    createArray(rows, cols) {
        const arr = new Array(rows);
        for (let i = 0; i < rows; i++) {
            arr[i] = new Array(cols).fill(0); // 初始化为0
        }
        return arr;
    }

    // 设置元素
    setElement(row, col, value) {
        if (this.isValidIndex(row, col)) {
            this.array[row][col] = value;
        } else {
            console.error("Index out of bounds");
        }
    }

    // 获取元素
    getElement(row, col) {
        if (this.isValidIndex(row, col)) {
            return this.array[row][col];
        } else {
            console.error("Index out of bounds");
            return null;
        }
    }

    // 检查索引是否有效
    isValidIndex(row, col) {
        return row >= 0 && row < this.rows && col >= 0 && col < this.cols;
    }

    // 打印数组
    printArray() {
        for (let i = 0; i < this.rows; i++) {
            console.log(this.array[i].join(" "));
        }
    }
}

// 使用示例
const myArray = new TwoDArray(3, 3);
myArray.setElement(0, 0, 1);
myArray.setElement(1, 1, 2);
myArray.setElement(2, 2, 3);
myArray.printArray();

console.log(myArray.getElement(1, 1)); // 输出: 2

代码说明:

  1. 构造函数TwoDArray 类的构造函数接受行数和列数,并创建一个二维数组。
  2. createArray:创建并初始化一个二维数组,默认值为0。
  3. setElement:设置指定位置的元素值,检查索引是否有效。
  4. getElement:获取指定位置的元素值,检查索引是否有效。
  5. isValidIndex:检查给定的行和列索引是否在有效范围内。
  6. printArray:打印整个二维数组。

你可以根据需要扩展这个类,添加更多的方法,比如删除元素、查找元素等。