javascript - Array.filter 无法正常工作

标签 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));

最佳答案

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

newCart = Cart.filter(function(item) {
    return parseInt(item.orderId, 10) != parseInt(orderId, 10);
});

关于javascript - Array.filter 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32437396/

相关文章:

php - Javascript lastIndex 正则表达式属性到 PHP 正则表达式

javascript - 仅将 AngularJS 用于路由目的

jquery - 获取包含特定类的第一个匹配祖先

javascript - Angular JS ng-repeat以垂直分割格式排列

javascript - 来自 Controller 的 Mixpanel.track

javascript - $(document).ready 在我将 jquery 库放在正文之前时不起作用

javascript - 多列数组中最接近的最大值

c++ - 不访问列表函数的 STL 列表数组

javascript - 如果属性与另一个数组匹配,则检索数组中的对象

javascript - 将包含 HTML 的字符串转换为句子,并使用 Javascript 保留分隔符