Array.filter无法正常工作

时间:2015-09-07 11:18:27

标签: javascript jquery arrays

我有一个数组,我想从中移除一条记录,我已经使用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 个答案:

答案 0 :(得分:15)

您需要在过滤器中返回truefalse以过滤数组中的数据,返回true以保留元素,否则返回false。因此,您可以使用 filter()

执行此类操作
newCart = Cart.filter(function(item) {
    return parseInt(item.orderId, 10) != parseInt(orderId, 10);
});