트 리 Diff 알고리즘 구현

538 단어 diff자바 script
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
}

좋은 웹페이지 즐겨찾기