JS Array push函数

JS里面array的push操作,如果被压进数组的元素也是个数组,真正被压进数组的是引用还是值?

 var a = [],b = [];
 a.push(1);
 b.push(a);
 a.push(2);
 console.log(b);

Edit 1:
如何做到push一个数组的值呢?

阅读 5.3k
5 个回答

JSON.parse(JSON.stringify(arr));
创建一个arr的副本

clipboard.png

自己试试。是引用哦。

var numbers = [1, 2, 3];
numbers.push(4);
console.log(numbers); // [1, 2, 3, 4]

numbers.push(5, 6, 7);
console.log(numbers); // [1, 2, 3, 4, 5, 6, 7]

var sports = ['soccer', 'baseball'];
var total = sports.push('football', 'swimming');
console.log(sports); // ['soccer', 'baseball', 'football', 'swimming']
console.log(total);  // 4

var vegetables = ['parsnip', 'potato'];
var moreVegs = ['celery', 'beetroot'];
Array.prototype.push.apply(vegetables, moreVegs);
console.log(vegetables); // ['parsnip', 'potato', 'celery', 'beetroot']

Array.prototype.push()

是引用呢……这里我觉得你需要的是concat方法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题