实现类似React虚拟Dom的Diff算法, 最后输出dom树差异的层级及key的组合字符串
function diff(a, b) {
let num = 0 // 保存遍历层级
let str = "" // 输出的差异字符串
dispatch(a, b)
function dispatch(a, b) {
num++
for (let key in a) {
const arrOrObj = Array.isArray(a[key]) || Object.prototype.toString.call(a[key]) === "[object Object]"
if (arrOrObj) {
dispatch(a[key], b[key])
} else if (a[key] !== b[key]) {
str += `${key}${num}-`
}
}
}
return str
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。