js实践面试题

1.[{id:'a',value:'123'},{id:'b',value:'234'},...]

变成{a:123,b:234,....}



Function toObj(arr){
Var result={}
For(item of arr){
Result[item.id]=item.value
}
Return result
}

2.兼容这两种方式求和的函数
add(3,2)
add(3)(2)
 //函数式编程
       var add=function (m,s){
        if(s!=undefined){
            return m+s
        }else{
            var temp=function(n){
            return add(m+n)
            }
            //为的是不在执行temp的时候输出m的值
            temp.toString=function(){
                return m
            }
            return temp
        }
       }
       console.log(add(2,3))
       console.log(add(2)(3))
       // 综上描述、解析
       // 这个add函数可以无限次调用循环调用,并且把所有传进去的值相加,最后返回相加总数,
       // 运行过程
       // 先执行add(2),此时m为2,并返回一个temp函数
       // 然后执行temp(3),然后是add(2+3),也就是add(5)然后就是temp.toString return 5,
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容