对关联数组的关联数组执行 foreach

2024-03-15

假设我有这样的设置:

var whatever = new Array();

whatever["a"] = new Array();
whatever["a"]["a"] = "test1";
whatever["a"]["b"] = "test2";

whatever["b"] = new Array();
whatever["b"]["a"] = "test3";
whatever["b"]["b"] = "test4";

我尝试迭代它:

$.each(whatever, function(key, value) {
 $.each(value, function(subkey, subvalue) {
  //stuff with key, subkey, and subvalue here
 });
});

然而迭代失败了,注释掉嵌套的 foreach 循环将允许页面加载,因此这似乎就是问题所在。

在第一个循环中,我可以执行以下操作:

alert(value["a"]);

并收到正确的值,因此它似乎是一个“有效”数组。既然嵌套循环与外部循环基本相同,我哪里出错了?


使用对象而不是数组。

var whatever = {};

whatever["a"] = {};
whatever["a"]["a"] = "test1";
whatever["a"]["b"] = "test2";

whatever["b"] = {};
whatever["b"]["a"] = "test3";
whatever["b"]["b"] = "test4";

http://jsfiddle.net/QwT8W/ http://jsfiddle.net/QwT8W/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对关联数组的关联数组执行 foreach 的相关文章

随机推荐