ITPub博客

首页 > 应用开发 > IT综合 > 企业面试真题—01,02

企业面试真题—01,02

原创 IT综合 作者:千锋Python唐小强 时间:2020-05-29 17:35:48 0 删除 编辑

企业面试真题—01

var arr1= [1,1,1,2,3,3,4,5,6], arr2=[4,4,4,5,5,6,7,8,8,9];
编写函数实现数组合并去重:arr = [1,2,3,4,5,6,7,8,9]

function mergeArr(a1, a2){

//利用对象的hash去重

var temp  = {};

//找到长度较大的数组

var len  = Math.max(a1.length, a2.length);

for( var i =0; i <len; i ++){

//用一个循环遍历2个数组, 因为不能保证数组长度一致

//因此需要判断是否为空

//若不为空, 则以key的形式添加到temp中

a1[i] ?temp[a1[i]]  = 1 :"";

a2[i] ?temp[a2[i]]  = 1 :"";

}

//将对象的key全部取出,则是最终去重合并后的数组

//但是取出的key都是字符串类型, 要还原成数字的话

//借助map方法

return Object.keys(temp).map(Number);

}

企业面试真题—02

有如下列表的DOM结构,需要在点击时获取对应的innerHTML;

要求:不能修改DOM; 使用原生javascript; 考虑js性能

企业面试真题—01,02

//考虑到li数量太多, 因此使用事件委托方式

var oDiv  = document.querySelector("div");

oDiv.addEventListener("click",  function(evt){

var e  = evt  || event; //处理IE兼容问题

//e.target表示事件源对象, 即事件触发的源头

//当点击Li的时候, 则条件成立

var target  = e.target  || e.srcElement; //处理兼容问题

if(target.tagName  = "LI") {

console.log(e.target.innerHTML);

}

})

企业面试真题—01,02


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69923331/viewspace-2695141/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-05-14

  • 博文量
    995
  • 访问量
    775636