2.所有题目公用一个上下文,已知数组:
let arr = [1,2,3];
-
arr的长度是多少?
-
去除arr中的空数组项;
-
arr2 = arr.map(parseInt),请写下arr2的内容;
-
arr和arr2合并成数组arr3。
-
去除数组arr3中重复内容
答案:
第一题,空数组项也会作为length的一部分;空数组项和空字符串项是有区别的。结果是4。
第2题 本题只是过滤空数组项,不包括null, undefined这类,去除空数组项两个比较好的回答:
数组中的 empty 元素不会参与数组项遍历,故只需返回 true 即可过滤掉 empty 元素(而不会牵连 0、NaN、null、undefined、‘’ 这些)
arr.filter(it => true)
注意走for循环,还是会遍历empty数组项。或者filter方法参数直接就是一个function即可。例如:arr.filter(Number), arr.filter(String)
上面并不会最好的方法。数组有个API,天然去除空数组项,arr.flat()。flat()可以让数组扁平化的方法。
第3题标准答案应该是[1, NaN, NaN]
,map里面Function支持参数(value, index, arr)。
第4题就是concat,可以数组合并,arr3 = arr.concat(arr2)
。如果不考虑兼容,可以[...arr, ...arr2]
。其他参考方法:Array.prototype.push.apply(arr3, arr2)
,也可以[].push.apply(arr3, arr2)
,此时arr3是合并后的数组。
第五题,数组去重。使用Array.from(new Set(arr3))
,或者[...new Set(arr3)]
。
3.关于字符串处理:
-
写一个名为toCamelCase的方法,实现把类似’abc-def-ghi’的字符转换成’abcDefGhi’。
-
写一个名为toDashJoin的方法,实现把驼峰形式字符串’abcDefGhi’转换成’abc-def-ghi’。
-
写一个名为toCapitalize的方法,实现首字母大写功能(原来字母就是大写的不处理),如’i like css’转换成’I Like Css’。
-
写一个名为toBetterUrl的方法,实现把类似’CSS value type’转换成’css-value-type’(只需考虑空格和大小写处理)。
「参考答案:」
function toCamelCase(str){
return str.replace(/-(.)/g,function($0,$1){
console.log($0,$1)
return $1.toUpperCase()
})
}
console.log(toCamelCase(“abc-def-ghi”));
function toDashJoin(str){
return str.replace(/[A-Z]/g,function($0){
return ‘-’+$0.toLowerCase()
})
}
console.log(toDashJoin(“abcDefGhi”));
function toCapitalize(str){
return str.replace(/(\s+|^)(\w)/g,function($0,$1,$2){
return $1+$2.toUpperCase()
})
}
console.log(toCapitalize(‘i like css’));
function toBetterUrl(str){
return str.replace(/[A-Z]/g,function($0){
return $0.toLowerCase()
}).replace(/\s+/g,‘-’)
}
console.log(toBetterUrl(‘CSS value type’));
4.在一个Web页面中有很多的链接和图片,例如:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
跳槽是每个人的职业生涯中都要经历的过程,不论你是搜索到的这篇文章还是无意中浏览到的这篇文章,希望你没有白白浪费停留在这里的时间,能给你接下来或者以后的笔试面试带来一些帮助。
也许是互联网未来10年中最好的一年。WINTER IS COMING。但是如果你不真正的自己去尝试尝试,你永远不知道市面上的行情如何。这次找工作下来,我自身感觉市场并没有那么可怕,也拿到了几个大厂的offer。在此进行一个总结,给自己,也希望能帮助到需要的同学。
面试准备
面试准备根据每个人掌握的知识不同,准备的时间也不一样。现在对于前端岗位,以前也许不是很重视算法这块,但是现在很多公司也都会考。建议大家平时有空的时候多刷刷leetcode。算法的准备时间比较长,是一个长期的过程。需要在掌握了大部分前端基础知识的情况下,再有针对性的去复习算法。面试的时候算法能做出来肯定加分,但做不出来也不会一票否决,面试官也会给你提供一些思路。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个长期的过程。需要在掌握了大部分前端基础知识的情况下,再有针对性的去复习算法。面试的时候算法能做出来肯定加分,但做不出来也不会一票否决,面试官也会给你提供一些思路。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-P3qXaHtR-1712964202399)]