多维数组在第二个循环中找不到索引

Posted

技术标签:

【中文标题】多维数组在第二个循环中找不到索引【英文标题】:Multidimensional Array Not finding Index on Second Loop 【发布时间】:2018-08-13 12:44:50 【问题描述】:

我正在推送到一个多维数组,这里是代码:

modelValuesArray["input"]["'"+index+"'"] = $('.' + index).attr("value");

如果没有索引之外的语音标记,它就不起作用。

但是在下一个循环中,它会将其视为“索引”,因此不起作用..

如何在不需要语音标记的情况下推送到数组?

提前致谢

阿利斯泰尔

【问题讨论】:

modelValuesArray["input"][index] = $('.' + index).attr("value"); 它不会推送到没有语音标记的数组? 我在这里没有看到对任何多维数组的任何引用。 index的值是多少? 显示modelValuesArray 【参考方案1】:

如果您使用字符串作为键,例如,您将 modelValuesArray 和 modelValuesArray["input"] 视为对象。 "input" .. 迭代它时您不会看到任何值 - 请改用整数。

const arr = [];
arr[0] = "zero";
arr["index"] = "one";

arr.forEach() ===> "zero"
Object.values(arr).forEach() ===> "zero" "one"

【讨论】:

【参考方案2】:

试试这个:

var modelValuesArray = [];
var index = 1;
modelValuesArray["input"] = [$('.' + index).attr("value")];

console.log(modelValuesArray["input"][index-1]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="1" value="Hello !!"/>

【讨论】:

以上是关于多维数组在第二个循环中找不到索引的主要内容,如果未能解决你的问题,请参考以下文章

如何排序多维数组的第二个索引?

遍历多维数组并打印所有可能性

基于子数组的第二个元素对多维数组进行排序

使用自动索引在循环中创建多维数组

如何在VB中连接两个多维数组?

3.6 多维数组