重塑 JavaScript 中的二维数组
问题
我们需要编写一个 JavaScript 函数,该函数将以下内容作为第一个参数接收一个数字的二维数组 arr,以及两个数字 r 和 c,分别表示**行**号和**列**号。
我们的函数应按照与输入数组中相同的**行遍历**顺序,形成并返回一个指定行和列数的新二维数组。
例如,如果输入函数的是 -
const arr = [ [6, 7], [8, 9] ]; const r = 1, c = 4;
则输出应该是 -
const output = [[6, 7, 8, 9]];
输出说明
arr 的**行遍历**为 [6, 7, 8, 9]。新的重塑矩阵是一个 1 * 4 矩阵,使用前面的列表逐行填充它
示例
以下是代码 -
const arr = [
[6, 7],
[8, 9]
];
const r = 1, c = 4;
const reshapeArray = (arr, r, c) => {
if (r * c !== arr.length * arr[0].length) {
return arr
}
const res = []
let row = []
arr.forEach(items => items.forEach((num) => {
row.push(num)
if (row.length === c) {
res.push(row)
row = []
}
}))
return res
};
console.log(reshapeArray(arr, r, c));输出
以下是控制台输出 -
[[6, 7, 8, 9]]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
JavaScript
PHP