Javascript JS多维数组内部for循环
因此,我有以下几点:Javascript JS多维数组内部for循环,javascript,Javascript,因此,我有以下几点: var INFO = []; var newMap = {}; function user_info(id,name,url,img){ newMap[id] = [name, url, img]; return newMap ; } ... for (var j = 0; j < 2; j++) { INFO.push(user_info(a,b,c,d));
var INFO = [];
var newMap = {};
function user_info(id,name,url,img){
newMap[id] = [name, url, img];
return newMap ;
}
...
for (var j = 0; j < 2; j++) {
INFO.push(user_info(a,b,c,d));
}
alert(JSON.stringify(INFO, null, 4));
但得到的结果不是我想要的:
这里的问题是,所有实际阵列都位于其自身的第二层中。如下所示:
function user_info(map, id,name,url,img){
map[id] = [name, url, img];
}
var INFO = [];
var newMap = {};
for (var j = 0; j < 2; j++) {
user_info(newMap, a,b,c,d)
}
INFO.push(newMap);
alert(JSON.stringify(INFO, null, 4));
我认为这就是您所需要的,尽管在您的示例中,如果不访问j、a、b、c、d变量,很难进行测试:
var INFO = [],
data = {};
for (var j = 0; j < 2; j++) {
data[a] = [b, c, d];
}
INFO.push(data);
alert(JSON.stringify(INFO, null, 4));
不要添加图像,而是添加实际的字符串,添加文本比添加图像容易。a、b、c、d是什么?添加完整的代码,如果可能的话,还可以添加实时演示。它是用户信息ID、名称、url、img,如函数中所示。我不确定这是否相关,因为数组中的元素不是问题,而是通过for循环添加数组。谢谢。好的,请尝试函数user_infodata{for loopoverdata{newMap[id]=[name,url,img];}返回newMap;}INFO.pushuser_infocompleteData;。将完整的数据发送到函数,函数将循环所有数据,在对象中添加单个数组并返回结果。@RyanPicard现在您了解了为什么需要完整的代码来添加有问题的数据。:。它是您正在使用for loop进行循环的数据。
var INFO = [],
data = {};
for (var j = 0; j < 2; j++) {
data[a] = [b, c, d];
}
INFO.push(data);
alert(JSON.stringify(INFO, null, 4));