gpt4 book ai didi

javascript - 在 Immutable.js Map 中查找嵌套对象的最佳方法

转载 作者:行者123 更新时间:2023-12-03 18:27:17 26 4
gpt4 key购买 nike

我有一个不可变映射结构,它将 presentationId 映射到 slideId 到具有幻灯片属性的映射,其中是“打开的”,如下所示:

//maps a chapterId to a pageId
var map = Map(fromJS({
123: {
22: {
slideId: 22,
presentationId: 123,
opened: 1
}
23: {
slideId: 23,
presentationId: 123,
opened: 0
}
}
}));

抓取/找到已打开 === 1 的幻灯片的最佳方法是什么?

我有这个,它可以工作,但我认为必须有更好/更好的方法来减少代码行数?

var openSlide;
map.some((slideMap, presentationId) => {
openSlide = slideMap.find(slide => {
return parseInt(slide.get('opened')) === 1;
});
return openSlide ? true : false;
});

最佳答案

我认为更好的方法是使用 .reduce,感谢您不需要在范围之外使用变量,如果涉及到可读性,这会更好。相反,find 在这种情况下 some 会更好,因为您不需要将找到的对象解析为 bool 值,它已经被解析了。

const openSlide = map.reduce((acc, slideMap) => {
return acc || slideMap.some(slide => {
return parseInt(slide.get('opened')) === 1
})
}, false)

关于javascript - 在 Immutable.js Map 中查找嵌套对象的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34053385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com