jquery,.push如何为二维数组追加元素
代码如下:varp=[];$.each(['姓名','年龄','职业','性别'],function(a,b){p[b]=[];});$each(data,functio...
代码如下:
var p= [];
$.each(['姓名','年龄','职业','性别'],function(a,b){
p[b] = [];
});
$each(data,function(a,b){
p[b].push(b);
});
console.log(p.length);
其中data中的数据格式大概为如下样子
姓名 A,B,C
年龄 25,31,28
职业 ....
性别 ...
...
问题是,此时输出的p数组的长度为什么会是0?,但是我输出p数组,他是有值的,这是为什么,p[b]这些不算作p的数组元素吗? 展开
var p= [];
$.each(['姓名','年龄','职业','性别'],function(a,b){
p[b] = [];
});
$each(data,function(a,b){
p[b].push(b);
});
console.log(p.length);
其中data中的数据格式大概为如下样子
姓名 A,B,C
年龄 25,31,28
职业 ....
性别 ...
...
问题是,此时输出的p数组的长度为什么会是0?,但是我输出p数组,他是有值的,这是为什么,p[b]这些不算作p的数组元素吗? 展开
1个回答
展开全部
关联数组(就是像 p["姓名"]、p["年龄"] 这样的数组)是不能用length来统计其长度的,其实它相当于是对象,所以要用对象的方法来统计其“长度”(准确说应该是对象的属性数量),比如: Object.keys(p).length
标准数组(就像 p[0]、p[1] 这样的)才能用length来获得长度
标准数组(就像 p[0]、p[1] 这样的)才能用length来获得长度
追问
嗯,我刚刚也发现了,那我这样的对象不可以用$.each来遍历吗?
搞定了,定义p的时候定义为var p ={}; 就可以啦,谢谢你了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询