2017-06-06 76 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);