2015-09-07 19 views
7

मेरे पास एक सरणी है और मैं इससे एक रिकॉर्ड हटाना चाहता हूं, मैंने Array.filter() का उपयोग किया है, लेकिन यह वही सरणी है जैसा यह है।Array.filter ठीक से काम नहीं कर रहा है

मेरे कोड:

var url = window.location.pathname, 
    orderId = url.split('/').slice(-2)[0]; 
var Cart = JSON.parse(localStorage.getItem('Cart')); 
newCart=Cart.filter(function(item) { 
    if (parseInt(item.orderId) == parseInt(orderId)) { 
     return {}; 
    } 
    else 
    { 
     return item; 
    } 
}); 
localStorage.setItem('Cart',JSON.stringify(newCart)); 
+1

array.filter में समारोह से लौटने का उपयोग कर सही या गलत, सही होना चाहिए उत्पादन सरणी में आइटम "रखना" करने के लिए, करने के लिए "छोड़" को गलत कुछ इस तरह कर सकते हैं यह - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter –

उत्तर

12

आपको एक सरणी से डेटा को फ़िल्टर करने में फिल्टर में true या false वापस जाने के लिए की जरूरत है, तत्व, झूठी अन्यथा रखने के लिए सच लौटें। तो तुम filter()

newCart = Cart.filter(function(item) { 
    return parseInt(item.orderId, 10) != parseInt(orderId, 10); 
}); 
संबंधित मुद्दे