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的数组元素吗?
展开
 我来答
网海1书生
科技发烧友

2019-01-30 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12310 获赞数:26214

向TA提问 私信TA
展开全部
关联数组(就是像 p["姓名"]、p["年龄"] 这样的数组)是不能用length来统计其长度的,其实它相当于是对象,所以要用对象的方法来统计其“长度”(准确说应该是对象的属性数量),比如: Object.keys(p).length
标准数组(就像 p[0]、p[1] 这样的)才能用length来获得长度
追问
嗯,我刚刚也发现了,那我这样的对象不可以用$.each来遍历吗?
搞定了,定义p的时候定义为var p ={}; 就可以啦,谢谢你了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式