Javascript .splice() and .push() error
Javascript .splice() and .push() error
我有一个数组array1,我将它的副本存储在另一个变量array2中。现在,当我尝试将值推入array1时,即使在将值推入array1之前分配了array2,该值也会被推入array2。这在.splice()方法中也会发生。
var array1 = [1,2,3];
var array2 = array1;
array1.push(4);
alert(array1);
alert(array2);
小提琴
你必须像这样克隆你的第一个数组:
var array2 = array1.slice(0);
更新小提琴
JavaScript有基本类型和引用类型。Array是一个引用类型。Array2
得到了参考,所以array1
的修改会影响array2
,你也可以使用这个代码:
var array1 = [1,2,3];
var array2 = array1.concat();
array2.push(4);
alert(array1);
alert(array2);
相关文章:
- jQuery Error adadvisor.net
- NodeJS API调用中Array中的Push和Pull元素
- Ajax调用ERror Cross Origin REquest:在rails中自动完成大学列表
- 类型error primeFactors.for不是函数
- Array.every返回false,而不是类型error
- datatables.net ajax error - http://datatables.net/tn/7
- Error: timers.js:234 callback.apply(timer, args);
- 滚动到错误字段ERROR
- Error with xmlhttpresponse
- Push方法显示错误
- ajax javascript 500 error
- Array.push导致程序出错
- 将数据从ExpressJS发送到AngularJS ERROR json
- Firebase“;未捕获的类型错误:myDataRef.push不是函数;
- walkscore API JSON error
- $$hashKey在Angular中push()新对象时未生成新值
- AdSense Error with Joomla (adsbygoogle.push() error)
- AngularJS push() error
- Javascript .splice() and .push() error
- angular.js非get实例操作返回error: value.Push不是一个函数