首页 新闻 会员 周边 捐助

jacascript中一维数组和二维数组的push和concat

0
[已关闭问题] 关闭于 2017-01-20 12:57
var a = [1,23,3]
var b = a.concat()
b.push(b[0])
console.log(a)输出a为1,23,3
console.log(b)输出b为1,23,3,1
var c = [[1,2],[3,4],[5,6]]
var d = c.concat()
for(var i = 0 ; i<b.length;i++){
    d[i].push(d[i][0])
}
console.log(c)输出c为[1,2,1],[3,4,3],[5,6,5]
console.log(d)输出d同上c

求大神指点,为什么思路一样,concat后在循环里push和原数组差别很大,还是因为二维数组的原因么,该怎么解决c,d相同的问题
予以暖杀风的主页 予以暖杀风 | 初学一级 | 园豆:116
提问于:2017-01-20 11:09
< >
分享
所有回答(1)
0

因为数组是引用类型,所以 c[0] 和 d[0] 是引用的同一个数组

by.Genesis | 园豆:2824 (老鸟四级) | 2017-01-20 12:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册