标题:各路神仙 求教了 JS数组覆盖问题
只看楼主
灿梅
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-8-23
 问题点数:0 回复次数:3 
各路神仙 求教了 JS数组覆盖问题
JS数组覆盖问题
 var in_prm=[{ "bt_id":40},{"bt_id":41}]
  var  zd_n_v=[{"arrt_id":"19","arrt_name":"分量","arrt_value":"ok"},
  {"arrt_id":"20","arrt_name":"口味","arrt_value":"微辣"}]
var tal=[];
for (var j = 0; j < in_prm.length; j++)
             {var temp = []     ;
                for (var i = 0; i < zd_n_v.length; i++)
                {
                    
                var obj = Object.assign(zd_n_v[i], in_prm[j]);   
                temp[i]=obj;   
                }
                tal[j]=temp;
                    alert(JSON.stringify(tal[j]));
                       }

alert(JSON.stringify(tal));

这个循环最外层 外循环总是覆盖数组的值 结果都是最后一个元素!!!!! 中间都可了就是最后一步 拜托了!!!
搜索更多相关主题的帖子: JS 数组 var temp alert 
2019-08-23 18:08
灿梅
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-8-23
得分:0 
2019-08-23 20:41
z1151728042
Rank: 2
等 级:论坛游民
帖 子:4
专家分:20
注 册:2019-7-3
得分:0 
var in_prm = [{ "bt_id": 40 }, { "bt_id": 41 }]
    var zd_n_v = [{ "arrt_id": "19", "arrt_name": "分量", "arrt_value": "ok" }, { "arrt_id": "20", "arrt_name": "口味", "arrt_value": "微辣" }]
    var tal = [];
    for (var j = 0; j < in_prm.length; j++) {
      var temp = [];
      (function(){
        for (var i = 0; i < zd_n_v.length; i++) {
          (function(){
            var obj = Object.assign(zd_n_v[i], in_prm[j]);
            temp[i] = obj;
          })(i);
        }
        tal[j] = temp;
        console.log(JSON.stringify(tal[j]));

      })(j);
      
    }
    console.log(JSON.stringify(tal));  
2019-09-04 14:50
y08zh01
Rank: 2
等 级:论坛游民
威 望:3
帖 子:4
专家分:27
注 册:2011-4-30
得分:0 
回复 楼主 灿梅
var obj = Object.assign({}, zd_n_v[i], in_prm[j]);
加上{},
要不然不都是引用zd_n_v这一个吗
2019-09-19 11:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-496531-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.122849 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved