初级前端手写系列 你能写几题?

初级前端手写系列 你能写几题?_第1张图片

1.手写一个计算器。




    
    
    
    Document


    
数值:A
数值:B

2.实现一个函数,对给定数组的value做去重后相乘,请尽量用原生方法实现!
const array = [{value: 9}, {value: 2}, {value: 3}, {value: 3},{value: 5}, {value: 2}, {value: 5}];
例如上面数组去重相乘结果为270:(9 * 2 * 3 * 5 = 270)





    
    
    
    Document



    


3.给你2个数组a和b,  把2个数组合并, 返回合并后的数组 按 递减顺序 排列并过滤掉指定元素。
let arr1 = [1,8,3,10,3,2,9,2], arr2 = [2,5,6], element = 2
function concatArr(arr1,arr2,element){
}
console.log(concatArr(arr1,arr2,element)) //[10,9,8,6,5,3,3,1]

 



    
    
    
    Document



    


4.给定一个非空的数字数组,数组有且只有一个非重复项,实现一个方法获取落单项





    
    
    
    Document



    


5.截取url中的参数并转化为对象



  
    
    
    
    Document
  
  
    
  

6. 从一个树状数据结构中,找出值最大的一个节点

方法一:



    
    Title





方法二:
const Tree = {
        id: "i1",
        value: 12,
        left: {
            id: "i3",
            value: 63,
            left: {
                id: "i8",
                value: 222
            },
            right: {
                id: "i91",
                value: 22
            }
        },
        right: {
            id: "i14",
            value: 26
        }
    };
    let maxNode = {
        value: '',
        id: '',
    }
    function findMaxNode(tree) {
        for(let i in tree){
            if(Object.prototype.toString.call(tree[i]) === '[object Object]'){
                findMaxNode(tree[i])
            }else{
                if(i == 'value'){
                    if(tree.value > maxNode.value){
                        maxNode.value = tree.value;
                        maxNode.id = tree.id
                    }
                }
                
                
            }
        }
    }
    findMaxNode(Tree)
    console.log(maxValue)

7.翻转一个整数(不使用APi)

方法一:


 
  
    
     
      Document
   
 
     
  
   


方法二:




  
  
  
  Document


  


你可能感兴趣的:(前端,javascript)