【问题标题】:Array.filter is not working properlyArray.filter 无法正常工作
【发布时间】:2015-09-07 11:18:27
【问题描述】:

我有一个数组,我想从中删除一条记录,我使用了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));

【问题讨论】:

标签: javascript jquery arrays


【解决方案1】:

应该在过滤器中返回truefalse,以便从数组中过滤数据。
返回true 将元素添加到过滤列表中,否则返回false
所以你可以使用 filter()

来做这样的事情
newCart = Cart.filter(function(item) {
    return parseInt(item.orderId, 10) != parseInt(orderId, 10);
});

【讨论】:

    猜你喜欢
    • 2020-03-24
    • 2016-12-01
    • 2022-12-01
    • 1970-01-01
    • 2016-09-01
    • 2012-07-11
    • 2018-04-08
    • 2017-04-20
    • 2018-10-02
    相关资源
    最近更新 更多