Skip to content

Commit df3db65

Browse files
committed
perf: #243 优化性能
1 parent 69762a7 commit df3db65

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

packages/core/src/context.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,12 @@ export class PageContext {
211211
? mergePageMetaDataArray(generatedPageMetaData.concat(customPageMetaData))
212212
: generatedPageMetaData
213213

214-
const parseMeta = result.filter((page, index, self) =>
215-
self.findLastIndex(item => page.path === item.path) === index,
214+
// 使用 Map 去重,保留每个 path 的最后一个元素,同时保持较好的性能
215+
const parseMeta = Array.from(
216+
result.reduce((map, page) => {
217+
map.set(page.path, page)
218+
return map
219+
}, new Map<string, PageMetaDatum>()).values(),
216220
)
217221

218222
return type === 'main' ? this.setHomePage(parseMeta) : parseMeta

0 commit comments

Comments
 (0)