问题整理

for循环 给数组push值

需求:循环像数组push对象(不一样);
问题现象:数组里面的所有对象一样;
代码(大概形式):
【大概形式就是下面这样,但实际上getValue里面的逻辑更多。下面这段代码不能复现出来】

var detailArr=[{name:"张三",age:12},{name:"张四",age:8}];
      var getValue=function(obj){
        return obj;
      }
      var itemRes = null;
      var arr=[];
      for (let i = 0; i < detailArr.length; i++) {
        itemRes =getValue(detailArr[i]);
        console.log(itemRes) // {name:"张三",age:12},  {name:"张四",age:8}
        arr.push(itemRes) 
      }
       console.log(arr);//  arr[{name:"张四",age:8},{name:"张四",age:8}]
	

【上面的打印结果不是上面代码的真实结果,而是参照实际我的问题的打印】

解决方式:由于打印单个输出结果的时候没问题,所以我就试着将其变为字符串拼接,结果是可以的。【怀疑是引用类型的问题】

 var arrstr = "";
 ...
  arrstr += JSON.stringify(itemRes) + "&spliceKeyName";
  ...
    var arrRes = arrstr.split("&spliceKeyName");
        for (var key in arrRes){
          if(arrRes[key]) arr.push(JSON.parse(arrRes[key]))
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值