Javascript 通过删除不需要的嵌套对象特性筛选对象数组
我有一个数组,其中包含工作日的对象,我希望通过在“opens”或“closes”中包含null的元素来过滤这些对象(不希望它们在我的最终数组中存在) 我想返回一个新创建的数组,这样就不会更改原始数组 我目前的解决方案看起来像那样,但感觉很难看Javascript 通过删除不需要的嵌套对象特性筛选对象数组,javascript,arrays,object,filter,Javascript,Arrays,Object,Filter,我有一个数组,其中包含工作日的对象,我希望通过在“opens”或“closes”中包含null的元素来过滤这些对象(不希望它们在我的最终数组中存在) 我想返回一个新创建的数组,这样就不会更改原始数组 我目前的解决方案看起来像那样,但感觉很难看 let newArray = []; array.forEach( (day, index) => { day = day.filter( timeblock => timeblock.opens != null &
let newArray = [];
array.forEach( (day, index) => {
day = day.filter( timeblock =>
timeblock.opens != null && timeblock.closes != null
);
newArray.push(day);
});
如何更优雅地过滤嵌套数组?(jsfiddle如果需要:)您的代码有什么问题?
let newArray = [];
array.forEach( (day, index) => {
day = day.filter( timeblock =>
timeblock.opens != null && timeblock.closes != null
);
newArray.push(day);
});
let newArray = array.map(day =>
day.filter(timeblock =>
timeblock.opens != null && timeblock.closes != null
)
);