如何删除掉数组中的某一项?

发布于 2022-09-01 15:49:05 字数 300 浏览 18 评论 0

数组的结构是这样的:
[ {"title": 123, "num": 1, "type":[{"name":A,"num": 1},{"name":B,"num": 1},{"name":C,"num": 0}] }, {"title": 321, "num": 1, "type":[{"name":D,"num": 0},{"name":E,"num": 1},{"name":F,"num": 0}] }]

请问怎么样可以删除掉type中num=0的对象,其他num=1的继续保留?网上搜到的基本都是指定位置来删的,不适合使用。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

素衣风尘叹 2022-09-08 15:49:05

就是这样

var array = [
    {
        "title": 123,
        "num": 1,
        "type": [{"name": 'A', "num": 1}, {"name": 'B', "num": 1}, {"name": 'C', "num": 0}]
    }, {
        "title": 321,
        "num": 1,
        "type": [{"name": 'D', "num": 0}, {"name": 'E', "num": 1}, {"name": 'F', "num": 0}]
    }];

array.forEach(function (x) {
    x.type = x.type.filter(function (y) {
        return y.num != 0;
    });
});
橘虞初梦 2022-09-08 15:49:05

可以用.filter函数来删除,比如

a = [{"name":'A', "num": 1},{"name":'B',"num": 1},{"name":'C',"num": 0}]
b = a.filter(function(x){return x.num != 0})
攒眉千度 2022-09-08 15:49:05

你可以Array.filter函数过滤~~~

var myArray=[1,2,3,5,6];

myArray=myArray.filter(function(item, index, array){
    if(item>2){
        return true;
    }
    return false;
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文