日期:2014-05-16  浏览次数:20505 次

js 复制数组后更改原始数组,新数组值也被改变 求解
代码如下

var astrPaymentJsons = maobjCurrent[2].slice(0);
////////////////////////①///////////////////////////
if (!VerifyReceiptAmount()) {
  return false;
}
////////////////////////②///////////////////////////

于是在①的时候和②的时候astrPaymentJsons中的值不一样了,求解!!!!

注: maobjCurrent[2]为全局变量
  VerifyReceiptAmount方法中改变了maobjCurrent[2]的值

------解决方案--------------------
原来原始数据是个JSON数组啊。。那就不能使用普通数组的slice()方法来复制了,因为数组保存的是对对象的引用。自己google一下:JSON 深度复制