注册账号
登录
走啊走zouazou
...
关注
关于js数组赋值的问题
技术
›
Javascript
创建于2020/06/18
390次阅读
有无大佬知道这是什么原理
最后得到的wj[0] 和 wj[1]是正确的
最后得到的wj[0] 和 wj[1]都是wj[1] 的值
var wj = new Array;
for(i=0;i<2;i++)
{
var wj1 = new Array;
for(j=0;j<6;j++)
{
wj1[j]=(i+j);
}
wj[i]=wj1;
console.log(wj);
}
1条评论 / 4条回复
吴世剑
大概可能是这样,对wj修改都是在同一个对象上,因此打印的是整个对象。
把 console.log(wj); 改成 console.log(JSON.stringify(wj)); 就正常了
2020/06/18
2 人赞
赞
回复
走啊走zouazou
(楼主)
回复了
吴世剑
虽然过程中打印出来的值是对的,但这种写法 最后wj的赋值还是同样的两个数组[1,2,3,4,5,6]
,而不是,另一种写法的[0,1,2,3,4,5] 和 [1,2,3,4,5,6]。我想问的其实就是为什么两种写法最后得到的wj的赋值不同,看起来逻辑好像是一样的,只是 wj1 声明的位置不同
2020/06/30
赞
回复
吴世剑
回复了
走啊走zouazou
可能是浏览器场景的关系,如果使用nodejs跑的话,输出是正常的。
2020/06/30
赞
回复
走啊走zouazou
(楼主)
回复了
吴世剑
哦哦,3q。多谢多谢
2020/06/30
赞
回复
SJHBXShub
回复了
吴世剑
是的
2020/07/15
赞
回复
走啊走zouazou
关注
私信
1
关注
2
粉丝
2
帖子