js 遍历json数组,返回的json数组不是键值对形式的,如何遍历?

[
[3,"1","[email protected]","Mac",1,25,1231231233,"1"],
[2,"1","[email protected]","Mac",1,25,1231231222,"1"]
]

这种形式的,js中如何遍历呢

数组遍历很简单啊,不过楼主应该是想命名后遍历吧

var data = [
 [3, "1", "[email protected]", "Mac", 1, 25, 1231231233, "1"], [2, "1", "[email protected]", "Mac", 1, 25, 1231231222, "1"]
], i = 0, line, o = {}, keys = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; //这儿写应该有的名字,这里是示范
while (function (a, b, c, d) {
 if (c = c && c[d] || 0, a = "object" == typeof a && a ? a : {}, "object" == typeof c)
  for (var e in b)
   a[b[e]] = c[e] || null;
 return a
}
 (o, keys, data, i++)) {
 //这儿o就自动处理为{'a':3,'b':'1'....}的对象了

}

追问

我就是想直接获取到值,不用命名后遍历可以吗?

追答

当然可以了,

var data = [
 [3, "1", "[email protected]", "Mac", 1, 25, 1231231233, "1"], [2, "1", "[email protected]", "Mac", 1, 25, 1231231222, "1"]
], i = 0, line;
for(;i<data.length;i++){
 line = data[i];
 
 //line[0],line[1],...,line[7]
}
//上面这种就是有时候容易弄乱了
//前面的遍历弄复杂了,因为急着要去洗澡,其实可以这样简单的遍历
while (function (id, name, email, system, sex, age, time, alived) { //
 if (arguments.length) {
 //在这儿遍历
  return true;
 }
}
 .apply(null, data[i++] || []));
//这个方法可以记住格式就行了,遍历二维数组,重命名变量,一锅端
while(function(arg1,arg2,...argN)){if(arguments.length){
//这样写,更好看点吧。
return true;}}.apply(null, {your_data_array}[i++]||[]));

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-23
这种不是json格式把,只能算是字符串里面写了组数的形式,还是写成{x:y}的格式来遍历比较方便
第2个回答  2013-10-24
这么个数据你想遍历的话,而且不属于json格式,我觉得你可以这样做:首先用正则表达式替换字符串,将 ],[ 这个替换成 一个特殊字符 如 | ,然后将 [ 和 ] 分别进行替换为 “” 或者是删除;
然后你可以先根据 | 来进行一次分割,分割之后的再按照 , 分割 分别循环得到要的数据,有的有引号,有的没引号要注意,代码我不写了。
相似回答