function mergeBookmarkArrays(arr1, arr2) {
const folderMap = new Map()
[...arr1, ...arr2].forEach(folder => {
if (!folderMap.has(folder.id)) {
folderMap.set(folder.id, { ...folder, children: [] })
}
const existingFolder = folderMap.get(folder.id)
const urlSet = new Set(existingFolder.children.map(child => child.url))
folder.children.forEach(child => {
if (!urlSet.has(child.url)) {
existingFolder.children.push({ ...child })
urlSet.add(child.url)
}
})
})
return Array.from(folderMap.values())
}
const mergedArray = mergeBookmarkArrays(arr1, arr2)