极客时间返利平台,你可以在上边通过山月的链接购买课程,并添加我的微信 (shanyue94) 领取返现。
每天晚上九点 B站讲解前端工程化直播,并解答相关问题。

# 在虚拟 DOM 中进行 diff 算法时,介绍当根据 key 对数组进行重用时的算法

更多描述

如以下示例,当从上方五个 div 变为下方五个 div 时,由于 diff 算法,无需重复构建 DOM 创建五个新的 div 标签。

请写出此时重用的算法,并给出时间复杂度

<div key="1">Demo 1</div>
<div key="2">Demo 2</div>
<div key="3">Demo 3</div>
<div key="4">Demo 4</div>
<div key="5">Demo 5</div>

<div key="4">Demo 4</div>
<div key="5">Demo 5</div>
<div key="2">Demo 2</div>
<div key="1">Demo 1</div>
<div key="3">Demo 3</div>
function updateChildren(element, oldVnodes, newVnodes) {}

# 可参考

  1. 编辑距离 (opens new window)

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 721 (opens new window)

Last Updated: 11/27/2021, 10:11:48 AM