開發商;我有三個arrays:天(列)、主題(行)、資料(單元格)
let Days = ["Monday", "Tuesday", "Wednesday"];
let Subject = [
"Economics",
"geography",
"theatre",
"music",
"mathematics",
"psychology",
"marketing",
"business",
"journalism",
"languages",
];
const Data = [
["10:00", "12:10", "13:30"],
["08:30", "12:10", "14:30"],
["14:10", "15:15", "19:10"],
["20:20", "20:50", "23:00"],
["09:10", "10:00", "19:00"],
["10:12", "16:40", "18:10"],
["08:30", "12:10", "14:30"],
["14:10", "15:15", "19:10"],
["20:20", "20:50", "23:00"],
["08:10", "14:20", "20:20"],
];
我想在這些陣列之間建立關系:

我嘗試過使用模數并回圈遍歷行和單元格的乘積:
const cols = Days.length;
const rows = Subject.length;
const len = Subject.length * Days.length;
const table = [];
for (let i = 0, j = 0; i < len; i ) {
table.push([
Subject[i % rows],
Days[j % cols],
Data[i % rows][j % cols],
]);
j ;
}
console.table(table);
但它給出的結果不是按順序排列的:
我仍在嘗試對其進行排序但不起作用,因為排序會按字母順序排序而不會保持順序?
console.table(table.sort((a, b) => a[0].localeCompare(b[0])));
提前致謝,歡迎并感謝任何建議
uj5u.com熱心網友回復:
只需在做產品程序的同時進行排序,如下:
for (let i = 0; i < rows; i ) {
for (let j = 0; j < cols; j ) {
table.push([
Subject[I],
Days[j],
Data[i][j],
]);
}
}
在這種情況下,您將使用 Days 中的所有相應值迭代 Subject 的每一行,然后移動到 Subject 的下一行,以所需的元素順序結束。
For example:
the first iteration will be as follows (representing the first three row of the resulting array)
i = 0 (Subject[i] = "Economics")
j = 0 (Days[j] = "Monday") ---> Data[i][j] = "10:00"
j = 1 (Days[j] = "Tuesday") ---> Data[i][j] = "12:10"
j = 2 (Days[j] = "Wednesday") ---> Data[i][j] = "13:30"
uj5u.com熱心網友回復:
您只需 lop 兩次,行和列即可輕松完成。
let Days = ["Monday", "Tuesday", "Wednesday"];
let Subject = [
"Economics",
"geography",
"theatre",
"music",
"mathematics",
"psychology",
"marketing",
"business",
"journalism",
"languages",
];
const Data = [
["10:00", "12:10", "13:30"],
["08:30", "12:10", "14:30"],
["14:10", "15:15", "19:10"],
["20:20", "20:50", "23:00"],
["09:10", "10:00", "19:00"],
["10:12", "16:40", "18:10"],
["08:30", "12:10", "14:30"],
["14:10", "15:15", "19:10"],
["20:20", "20:50", "23:00"],
["08:10", "14:20", "20:20"],
];
const cols = Days.length;
const rows = Subject.length;
const len = Subject.length * Days.length;
const table = [];
for (let i = 0; i < rows; i ) {
for (let j = 0; j < cols; j ) {
table.push([
Subject[i],
Days[j],
Data[i][j],
]);
}
}
console.table(table);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/392827.html
標籤:javascript 数组 排序 矩阵 多维数组
