题解 | #虚拟DOM#

虚拟DOM

https://www.nowcoder.com/practice/a283d2c284ed49468c3b0f6ec0312b0f

const _createElm = vnode => {
  // 判断是否是空标签 返回text
  if (vnode.tag == undefined) {
    return vnode.text
  }

  // 否则创建标签
  let tag = document.createElement(vnode.tag)
  // 遍历属性设置属性
  Object.keys(vnode.props).forEach((el) => {
    tag.setAttribute(el, vnode.props[el])
  })

  // 设置当前的值
  if (vnode.text) tag.innerText = vnode.text

  //遍历子元素 重复此步骤
  vnode.children.forEach(item => {
    let temp = _createElm(item)
    if (typeof temp == 'string') {
      tag.innerText = temp
    } else {
      tag.appendChild(temp)
    }
  })

  // 返回标签
  return tag
}
_createElm(vnode)

递归

#解题#
全部评论

相关推荐

nus22016021404:兄弟,你这个简历撕了丢了吧,就是一坨,去找几个项目,理解项目流程,看几遍就是你的了,看看八股就去干了,多看看牛客里别人发出来的简历,对着写,你这写的啥啊,纯一坨
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
昨天 18:22
门头沟学院 运营
是正式编吗?稳定吗?工资待遇怎么样?转正可以转到腾讯总部吗?
Java抽象带篮子:不是,不稳定,一般,不行
投递腾讯云智研发等公司7个岗位 >
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务