gpt4 book ai didi

javascript - 在javascript中将数组转换为二维数组(方阵)

转载 作者:行者123 更新时间:2023-11-28 16:02:24 25 4
gpt4 key购买 nike

我在 javascript 中有一个小函数,我想将数组 A 拆分为二维数组。I 将用于方阵。显然,如果输入中有 2x2 的方阵,我希望它是 2x2,对于 3x3 依此类推。但在读完第一行后我被卡住了。所以我的 arr 行被重复了。有谁知道如何正确读取下一行。例如,假设我有一个数组

A = [2,1,4,5,1,2,3,1,9]

然后我希望我的数组 arr 看起来像这样:

arr = [[2,1,4],[5,1,2],[3,1,9]]

这稍后将用于计算矩阵的行列式。

function create2Darray(clname) {
var A = document.getElementsByClassName(clname);
var arr = new Array();
var rows = Math.sqrt(A.length);
for (var i = 0; i < rows; i++) {
arr[i] = new Array();
for (var j = 0; j < rows; j++) {
arr[i][j] = A[j].value;
}
}
}

最佳答案

您始终分配相同的值。它应该是这样的:

arr[i][j] = A[i*rows+j].value;

编辑:这是一个没有 DOM 操作的完整函数(即 A 是一个简单的整数数组):

function create2Darray(A) {
var arr = [];
var rows = Math.sqrt(A.length);
for (var i = 0; i < rows; i++) {
arr[i] = [];
for (var j = 0; j < rows; j++) {
arr[i][j] = A[i * rows + j];
}
}
return arr;
}

console.log(create2Darray([1, 2, 3, 4, 5, 6, 7, 8, 9]))

关于javascript - 在javascript中将数组转换为二维数组(方阵),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16501704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com