js的一维数组转为多维数组
时间: 2024-08-12 12:09:15 浏览: 62
在JavaScript中,将一维数组转换为多维数组可以通过循环和嵌套数组创建来实现。以下是一个简单的示例:
```javascript
function oneDimensionalToMultiDimensional(arr, rows, cols) {
// 验证输入参数的有效性
if (!Array.isArray(arr) || !Number.isInteger(rows) || !Number.isInteger(cols) || rows * cols < arr.length) {
throw new Error('Invalid input: please provide a valid one-dimensional array and row-column dimensions');
}
// 根据行和列计算新的二维数组
let multiDimArr = [];
for (let i = 0; i < rows; i++) {
multiDimArr[i] = [];
for (let j = 0; j < cols; j++) {
if (i * cols + j < arr.length) {
multiDimArr[i][j] = arr[i * cols + j];
} else {
multiDimArr[i][j] = undefined; // 或者根据需要填充默认值
}
}
}
return multiDimArr;
}
// 示例
const oneDimArr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const result = oneDimensionalToMultiDimensional(oneDimArr, 3, 3);
console.log(result); // 输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
```
在这个例子中,`oneDimensionalToMultiDimensional`函数接受一个一维数组和两个整数(行数和列数),然后将数组元素按照指定的行列结构分布到新数组中。如果原始数组长度不能被行*列整除,多余的元素会被忽略或设置为默认值。
阅读全文