向多维数组添加值和从多维数组请求值
Add and request values to/from multidimensional array
我创建了一个这样的多维数组:
var lang_arr = {};
$('#language li a img').each(function(index) {
var lang_arr_helper = [];
lang_arr_helper.push(langi);
lang_arr_helper.push(getnumber);
lang_arr.push(lang_arr_helper);
});
我想在之后用一个循环来称呼它:
for (index=0;index < lang_arr.length;++index)
{
alert(lang_arr[index][0]+" "+lang_arr[index][1]);
}
不管是数组还是对象,所以如何调用它都需要循环。数组和/或对象是如何做到这一点的?
谢谢!!
您创建了一个对象而不是数组。要创建阵列,您应该:
var lang_arr_helper = new Array();
或
var lang_arr_helper = {};
就像你第一次那样。
使用[]
时,它会创建一个对象,该对象没有要使用的.length
属性。这就是for不遍历它的原因。
Array.prototype.forEach将是迭代多维javascript数组的一种方便方法:
var arr = [[1,2,3],[42,24],[8,9,10]];
arr.forEach(function(sub,i1) {
sub.forEach(function(item,i2) {
console.log("["+i1+","+i2+"] = "+item);
})
});
这将输出
[0,0] = 1
[0,1] = 2
[0,2] = 3
[1,0] = 42
[1,1] = 24
[2,0] = 8
[2,1] = 9
[2,2] = 10
要迭代对象,请使用for(key in obj)
构造,它将循环所有可枚举属性。
var obj = {
a:{a:1,b:2,c:3},
b:{x:42,y:24},
c:{u:8,v:9,w:10}
};
for(var key in obj) for(var i in obj[key]) {
console.log("["+key+","+i+"] = "+obj[key][i]);
}
产生
[a,a] = 1
[a,b] = 2
[a,c] = 3
[b,x] = 42
[b,y] = 24
[c,u] = 8
[c,v] = 9
[c,w] = 10
相关文章:
- 向多维数组添加值和从多维数组请求值
- 使用application/x-www-form-urlencoded使用node.js在post请求中发送数组
- 通过XHR请求将MYSQL数组从PHP返回到Javascript
- 如何显示从Ajax请求返回的数组.使用Yii2
- 使用Javascript数组或JSON来存储AJAX请求的返回值,以备将来使用
- 正在发送请求中包含数组的qx.io.request.Xhr请求
- 为什么我的猫鼬对象 Id 请求返回一个空数组
- 使用AngularJS$http.get在滚动时重复请求JSON数组
- jQuery ajax请求,将索引数组作为关键字字符串
- 如何迭代请求正文中的对象数组
- 使用jQuery.ajax请求向PHP函数发送一个对象数组
- 将jquery ajax请求推入数组时出错
- node.js请求POST数组“;第一个参数必须是字符串或缓冲区;
- 使用Jquery将JSON API请求的元素传递给数组
- 从多个API请求推送到全局数组
- 如何在 Node.js 中的 HTTP 请求后异步导出 JSON 数组
- php数组请求
- MongoDB通过_id数组请求(可能吗?)
- 处理循环数组请求的错误
- 如何在http传递数组.请求节点