首页 新闻 会员 周边

AngularJS被一个逻辑循环的问题卡住了 不理解这个循环的方式

0
悬赏园豆:100 [已关闭问题] 关闭于 2018-06-15 11:05

复制代码
 1 //创建SKU列表
 2     $scope.createItemList=function(){
 3         
 4         $scope.entity.itemList=[{spec:{},price:0,num:99999,status:'0',isDefault:'0'} ];//列表初始化
 5         //选中的规格选项
 6         var items= $scope.entity.goodsDesc.specificationItems;
 7     //把用户选择的规格循环遍历
 8         for(var i=0;i<items.length;i++){
 9             alert("$scope.entity.itemList");
10             $scope.entity.itemList= addColumn( $scope.entity.itemList, items[i].attributeName,items[i].attributeValue );            
11 
12 
13         
14         }    
15         
16     }
17     
18     addColumn=function(list,columnName,columnValues){
19         //定义一个新集合
20         var newList=[];        
21         for(var i=0;i< list.length;i++){
22             var oldRow=  list[i];     
alert("columnValues.length="+columnValues.length);
23 for(var j=0;j<columnValues.length;j++){ 24 25 var newRow= JSON.parse( JSON.stringify(oldRow) );//深克隆 26 newRow.spec[columnName]=columnValues[j]; 27 alert("columnName="+columnName+"columnValues[j]="+columnValues[j]); 28 newList.push(newRow); 29 30 } 31 } 32 33 34 return newList; 35 } 36 37 38 });
复制代码

当选择移动3G的时候弹出
$scope.entity.itemList
columnValues.length=1
columnName=网络columnValues[j]=移动3G

当选择移动3G 4G的时候弹出
$scope.entity.itemList
columnValues.length=2
columnName=网络columnValues[j]=移动3G
columnName=网络columnValues[j]=移动4G

当选择移动3G 移动4G 和机身内存16G的时候 弹出
$scope.entity.itemList
columnValues.length=2
columnName=网络columnValues[j]=移动3G
columnName=网络columnValues[j]=移动4G
$scope.entity.itemList
columnValues.length=1
columnName=机身内存columnValues[j]=16G
columnValues.length=1
columnName=机身内存columnValues[j]=16G

当选择移动3G 和 机身内存16G的时候弹出
$scope.entity.itemList
columnValues.length=1
columnName=网络columnValues[j]=移动3G
$scope.entity.itemList
columnValues.length=1
columnName=机身内存columnValues[j]=16G


不理解,第3个弹出的,当选择移动3G 移动4G 和机身内存16G的时候 弹出两次

columnValues.length=1
columnName=机身内存columnValues[j]=16G
columnValues.length=1
columnName=机身内存columnValues[j]=16G

各位大佬,求解答? 

xx_sprog的主页 xx_sprog | 初学一级 | 园豆:125
提问于:2018-06-15 10:17
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册