Array.filter无法正常工作

8 javascript arrays jquery

我有一个数组,我想删除它已经使用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));
Run Code Online (Sandbox Code Playgroud)

Pra*_*lan 16

您需要返回truefalse在过滤器中以过滤数组中的数据,返回true以保留元素,否则返回false.所以你可以用这样的东西做filter()

newCart = Cart.filter(function(item) {
    return parseInt(item.orderId, 10) != parseInt(orderId, 10);
});
Run Code Online (Sandbox Code Playgroud)