JavaScript 如何创建二维数组
二维数组 是一组具有相同名称的项,它们以行和列的形式组织成矩阵。二维数组是数组的数组,因此我们创建一个一维数组对象的数组。
我们可以用多种方法创建二维数组:
- 使用嵌套的for循环
- 使用数组字面量
- 使用Array.from()方法
- 使用Array.fill()方法
方法1: 使用嵌套的 for循环
示例1: 在这个示例中,我们将构建一个使用整数值的二维数组。
let gfg = [];
let row = 3;
let col = 3;
let h = 0
// Loop to initialize 2D array elements.
for (let i = 0; i < row; i++) {
gfg[i] = [];
for (let j = 0; j < col; j++) {
gfg[i][j] = h++;
}
}
console.log(gfg);
输出
[ [ 0, 1, 2 ], [ 3, 4, 5 ], [ 6, 7, 8 ] ]
示例2:在这个示例中,我们将使用字符串值创建一个二维数组。
let gfg = new Array(3);
for (let i = 0; i < gfg.length; i++) {
gfg[i] = [];
}
let h = 0;
let s = "GeeksforGeeks";
// Loop to initialize 2D array elements.
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
gfg[i][j] = s[h++];
}
}
console.log(gfg);
输出
[ [ 'G', 'e', 'e' ], [ 'k', 's', 'f' ], [ 'o', 'r', 'G' ] ]
方法2:使用字面量表示法
示例: 在这个示例中,我们将手动创建一个二维数组。这是存储学生信息的二维数组。
let MathScore = [
["Bar", 20, 60, "A"],
["Foo", 10, 52, "B"],
["Joey", 5, 24, "F"],
["John", 28, 43, "A"],
["Liza", 16, 51, "B"]
];
console.log(MathScore);
输出
[
[ 'Bar', 20, 60, 'A' ],
[ 'Foo', 10, 52, 'B' ],
[ 'Joey', 5, 24, 'F' ],
[ 'John', 28, 43, 'A' ],
[ 'Liza', 16, 51, 'B' ]
]
方法3:使用Array.from()方法
JavaScript中的 Array from() 方法可以从任何具有length属性或可迭代对象中返回一个数组对象。
示例:
const rows = 3;
const columns = 4;
const matrix = Array.from({ length: rows }, () =>
new Array(columns).fill(0));
console.log(matrix);
输出
[ [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ] ]
方法4: 使用Array.fill()方法
在这种方法中,我们将使用fill()方法和map方法来创建Javascript中的二维数组。
示例:
const rows = 3;
const columns = 4;
const matrix = Array(rows).fill().map(() =>
Array(columns).fill(0));
console.log(matrix);
输出
[ [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ] ]
极客教程