2017-06-06 77 views
0

我正在尝试构建一个有效负载,其中包含2个值,名称和数量。每个数量都与名称相关联。我想要做的是,如果数量等于零,那么具有名称和数量的对象不会添加到我的有效内容中。如果对象中的键为零,则删除对象

var myQuantity = $('input[name="quantity[]"]').map(function() {return $(this).val();}).get(); 
 
var myName = $('[name="name[]"]').map(function(){return $(this).text();}).get(); 
 

 
    
 
var len = myQuantity.length; 
 
var data = [] 
 
    
 
for (var x = 0; x < len; x++){ 
 
    var element = { 
 
    "name"  : myName[x], 
 
    "quantity" : myQuantity[x] \t 
 
    } 
 
    data.push(element); 
 
} 
 
console.log(data);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span name="name[]" class="name">1</span><input type="text" name="quantity[]" class="quantity" value="1"><br> 
 
<span name="name[]" class="name">2</span><input type="text" name="quantity[]" class="quantity" value="0"><br> 
 
<span name="name[]" class="name">3</span><input type="text" name="quantity[]" class="quantity" value="5"><br>

+0

尝试将data.push封装在if> 0 – xkcd149

回答

0

您可以添加只有当它是不是空的。

for (var x = 0; x < len; x++){ 
    var element = { 
     "name"  : myName[x], 
     "quantity" : myQuantity[x] 
    } 
    if(myQuantity[x] != 0){ 
     data.push(element); 
    } 
    } 
    console.log(data);