首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >通过删除不需要的嵌套对象属性来过滤对象数组

通过删除不需要的嵌套对象属性来过滤对象数组
EN

Stack Overflow用户
提问于 2018-05-28 20:19:25
回答 1查看 222关注 0票数 1

我有一个数组,其中包含工作日的对象,我希望通过在“open”或"closes“中包含null的元素来过滤这些对象(我不希望它们存在于我的最终数组中)。

代码语言:javascript
复制
let array = [
             [
               {"weekday":1,"opens":"09:00","closes":"11:00"}, 
               {"weekday":1,"opens":null,"closes":null}
             ],
             [
               {"weekday":2,"opens":"09:00","closes":"11:00"}, 
               {"weekday":2,"opens":"12:30","closes":"17:00"},
               {"weekday":2,"opens":"18:00","closes":"null"}
             ], ...
           ]

我想返回一个新创建的数组,这样我就不会改变原来的数组。

我目前的解决方案看起来就是这样,但感觉很难看

代码语言:javascript
复制
let newArray = [];

array.forEach( (day, index)  => {
    day = day.filter( timeblock => 
       timeblock.opens != null && timeblock.closes != null
    );
    newArray.push(day);
});

如何更优雅地过滤嵌套数组?(如果需要,请使用jsfiddle:https://jsfiddle.net/2jukvsoy/1/)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-28 20:26:10

代码语言:javascript
复制
let newArray = array.map(day => 
    day.filter(timeblock => 
        timeblock.opens != null && timeblock.closes != null
    )
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50566302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档