gpt4 book ai didi

javascript - 将数组值传递给另一个数组

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

我有一个名为“$inputFieldsArray”的输入字段数组,然后我将它们按 3 分组为“newArray”,然后我需要为每个项目分配新的数组值以分配给另一个数组,因为最后我需要一个带有以下内容的数组:输入字段值按 3 分组。最终目标是获取一个包含 9 个输入字段的数组,例如 [[i1,i2,i3],[i4,i5,i6],[i7,i8,i9]]。

由于某种原因,“stringArray”输出什么也没有,前两个数组打印正确的结果。这可能是我在 JS 数组方面犯的一些错误。抱歉 js 不是我的主要语言,我尝试学习它。谢谢。

这是 Chrome 控制台的屏幕截图: enter image description here

这是我的功能:

$($submitButton).click(function () {
// Get number of input fields
let $total = $("input[name^='bodyHeader']").length;
// Get input fields as objects
let $inputFieldsArray = $("input[name^='bodyHeader']");

let newArray = [];
let stringArray = [];
let j = 0;
// Group input fields by 3
for (let i = 0; i < $total - 1; i += 3) {
newArray[j] = $inputFieldsArray.slice(i, i + 3);
j++;
}
// Extract string values from newArray and pass them into stringArray
for (let k = 0; k < newArray.length - 1; k++) {

stringArray[k][0] = newArray[k][0].value;
stringArray[k][1] = newArray[k][1].value;
stringArray[k][2] = newArray[k][2].value;
}
// Print to test results
console.log($inputFieldsArray);
console.log(newArray);
console.log("String Array: " + stringArray);
... // Function logic is not complete
});

解决方案:

js中没有办法声明动态长度二维数组。使用@Stephan 建议的这种方法:

stringArray[k] = [newArray[k][0].value, newArray[k][1].value, 
newArray[k[2].value];

或者@Lorenzo Gangi建议的这种方法:

var matrix = [],
cols = 3;

//init the grid matrix
for ( var i = 0; i < cols; i++ ) {
matrix[i] = [];
}

最佳答案

stringArray[k] 未定义,因为您将 stringArray 定义为 [] (您的浏览器可能引发异常)。另外 newArray[k] 从索引 0 开始。

您可以改为编写 stringArray[k] = [newArray[k][0].value, newArray[k][1].value, newArray[k][2].value] .

关于javascript - 将数组值传递给另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45119594/

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