重塑 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