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相同的问题
因为数组是引用类型,所以 c[0] 和 d[0] 是引用的同一个数组