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
各位大佬,求解答?