[英]How can I make my Javascript .map functions more efficient?
我目前正在將大量數據從 AWS OpenSearch 返回到一個名為eventList
的數組中。 數組中的每個事件都具有以下結構:
{
_source: {
"key": value
"key": value
"key": value
}
}
因此,我想解構它,以便_source
成為事件數據,然后映射到 eventList。 目前,我有兩個 .map 實例,我知道這不是那么有效,所以我想知道如何組合它們。
let eventList = [
{
_source: {
tags: "xxx,yyy,zzz"
...
}
}
];
eventList = eventList.map((event) => event._source);
eventList = eventList.map((event) => {
const { tags } = event;
return {
...event,
tags: tags?.split(",") ?? [],
};
});
正如您在問題中所說,您可以結合這兩個map
調用:
eventList = eventList.map(({_source}) => (
..._source,
tags: _source.tags?.split(",") ?? [],
));
我在參數列表中使用了解構,但如果你不想這樣做,你不必這樣做:
eventList = eventList.map((event) => (
...event._source,
tags: event._source.tags?.split(",") ?? [],
));
有一百種不同的寫法,但你明白了。
實際上,我們可以進一步解構:
eventList = eventList.map(({_source: {tags, ...rest}}) => (
...rest,
tags: tags?.split(",") ?? [],
));
但是所有這些變化在性能方面應該大致相同; 最大的勝利是只有一張map
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.