uniapp 二维数组
多维数组的定义与初始化
在 UniApp 中,二维数组可通过嵌套数组实现。定义方式如下:
let twoDArray = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
此例中,twoDArray 是一个 3x3 的二维数组,每个子数组代表一行数据。
动态创建二维数组
若需动态初始化,可通过循环实现:
let rows = 3;
let cols = 4;
let dynamicArray = [];
for (let i = 0; i < rows; i++) {
dynamicArray[i] = [];
for (let j = 0; j < cols; j++) {
dynamicArray[i][j] = i * cols + j; // 填充示例数据
}
}
此代码生成一个 3x4 的二维数组,并按行优先填充数值(0 到 11)。

访问与修改元素
通过双重索引访问或修改元素:
console.log(twoDArray[1][2]); // 输出第2行第3列的元素:6
twoDArray[0][1] = 99; // 修改第1行第2列的元素为99
遍历二维数组
使用嵌套循环遍历所有元素:

twoDArray.forEach((row, rowIndex) => {
row.forEach((item, colIndex) => {
console.log(`[${rowIndex}][${colIndex}] = ${item}`);
});
});
或使用 for 循环:
for (let i = 0; i < twoDArray.length; i++) {
for (let j = 0; j < twoDArray[i].length; j++) {
console.log(twoDArray[i][j]);
}
}
常见操作示例
1. 查找最大值
let max = twoDArray[0][0];
twoDArray.forEach(row => {
row.forEach(item => {
if (item > max) max = item;
});
});
console.log("最大值:", max); // 输出99(修改后)
2. 行列转置
let transposed = twoDArray[0].map((_, colIndex) =>
twoDArray.map(row => row[colIndex])
);
console.log(transposed); // 输出转置后的数组
注意事项
- 确保子数组长度一致(矩形数组),否则需处理不规则数组的逻辑。
- 在 UniApp 的
data中定义二维数组时,需直接初始化或通过方法赋值:data() { return { matrix: [[1, 2], [3, 4]] }; }






