经典面试题三道

2020-04-07  本文已影响0人  aE_0ff7
第一题
  var li = ''
  function fun(list,str){
    if(str!=list[0].id){ // 如果不等于第0项的id
      li+=[list[0].id]+'=>'  // 把当前id和=>添加到li里
      fun(list[0].children,str) // 拿到当前这个的children并再次调用此方法
    }else{
      li += [list[0].id]  // 如果是相等就直接添加一项
    }
    return li
  }
  console.log(fun(list1, 'ef')) // 'ab'=>'ed'=>'ef'
第二题
  var a=['ad','b','ce']
  var str = 'adsdbce'

  function transform(list,str){
    list.map(e =>{ // e拿到每一项
      str = str.replace(e,'<em>'+e+'</em>') //如果str匹配e,就改成后面的形式
    })
    return str
  }
console.log(transform(arr, str))   // <em>ad</em>sd<em>b</em><em>ce</em>

题目可能有问题,如果要做成一样就判断一下

function transform(list, str) {
    list.map(ele=>{
        if (ele.length > 1) {
            str = str.replace(ele, '<em>'+ele+'</em>')
        }
        
    })
    return str
}
console.log(transform(arr, str))   // <em>ad</em>sdb<em>ce</em>
上一篇下一篇

猜你喜欢

热点阅读