js面试题整理

//1.打印出所有的value值
    var tree ={
        left:{
           left:{value:3},
           right:{value:4},
           value:1
        },
        right:{
           left:{value:5},
           right:{value:6},
           value:2
        },
        value:0
    }
/*****************/
    var arr=[];
    var pre=function(tree){
       if(!tree){
         console.log('tree was none');
       }
       console.log(tree.value);
       arr.push(tree.value);
      if(tree.left!=null){
          pre(tree.left);
      }else{
          console.log('tree.left was none');
      }
      if(tree.right!=null){
          pre(tree.right);
      }else{
          console.log('tree.right was none');
      }
      return arr;
    }
    pre(tree);//数组输出为[0,1,3,4,2,5,6],为二叉树的前序遍历思想
//2.编写一个函数,函数的内容类似input的字符串,要求返回output定义的类型的对象结果
input: http://www.taobao.com/1111/my/index.html?userId=293019239304&title=我的双11
output: {"userId":293019239304,"title":"我的双11"}

/***********************/
function getQuery(url){
    let [path, paramStr] = url.split('?');
    let _left = paramStr.split('&');
    let result = {};
    _left.map((item, index)=>{//
        const [key,val] = item.split('=');
        result[key]=val;
    });

    return result;
}
var url = 'input: http://www.taobao.com/1111/my/index.html?userId=293019239304&title=我的双11';
getQuery(url);

你可能感兴趣的:(javascript)