js实现3.封装一个format 函数,传入一个长度相等的一维数组组成的二维数组作为参数,在函数内部按照下面实例对该二维数组进行格式化,最后将格式化的结果返出来。 ① 例:定义一个二维数组source1=[[1,2,3],[4,5,6],[7,8,9]],执行format(source1)的返回结果是:[[1,4,7],[2,5,8],[3,6,9]] ② 例:定义一个二维数组source2=[[1,2],[3,4],[5,6]],执行format(source2)的返回结果是:[[1,3,5],[2,4,6]] ③ 例:定义一个二维数组source3=[[1,2,3,4],[5,6,7,8]]执行format(source3)的返回结果是:[[1,5],[2,6],[3,7],[4,8]]; A.根据题目正确定义函数format,根据要求正确传参(3分) B.正确使用循环遍历数组(5分) C.正确实现转换 (15分) D.format函数将格式化的新数组作为函数返回值输出(3分)
时间: 2023-08-18 09:28:45 浏览: 85
好的,以下是对应的 JavaScript 代码实现:
```javascript
function format(arr) {
const n = arr.length;
const m = arr[0].length;
const res = [];
for (let j = 0; j < m; j++) {
const row = [];
for (let i = 0; i < n; i++) {
row.push(arr[i][j]);
}
res.push(row);
}
return res;
}
// 测试
const source1 = [[1,2,3],[4,5,6],[7,8,9]];
console.log(format(source1)); // [[1,4,7],[2,5,8],[3,6,9]]
const source2 = [[1,2],[3,4],[5,6]];
console.log(format(source2)); // [[1,3,5],[2,4,6]]
const source3 = [[1,2,3,4],[5,6,7,8]];
console.log(format(source3)); // [[1,5],[2,6],[3,7],[4,8]]
```
首先定义一个 `format` 函数,它接收一个二维数组 `arr` 作为参数。在函数内部,先获取二维数组的行数 `n` 和列数 `m`,然后定义一个空数组 `res` 用于存储格式化后的新数组。
接下来使用两个 `for` 循环遍历二维数组,外层循环遍历列,内层循环遍历行。对于每一列,我们都定义一个空数组 `row`,然后遍历该列的所有行,将每一行的对应元素添加到 `row` 数组中。最后将 `row` 数组添加到 `res` 数组中即可。
最后将 `res` 数组作为函数返回值输出即可。
阅读全文