这段时间有部分小伙伴在问有没有什么好的刷题网站
在这里给大家推荐一款刷题网站点击访问牛客网
牛客网支持多种编程语言的学习,各大互联网大厂面试真题,从基础到拔高,快来体验一下吧!
引言
前段时间想找一些网站提高一下js水平,无意间进入到牛客网,牛客网中有前端的html、css、js练习题,有基础的,有拔高的,今天我正式去练习一下,觉得牛客网有多个优点:
- 代码便于调试,运行着也非常方便
- 页面相对来说非常简洁,没有那么多的花里胡哨
- 整体的练习题目质量不错
前端面试手撕题
事件委托
描述
请补全JavaScript代码,要求如下:
- 给"ul"标签添加点击事件
- 当点击某"li"标签时,该标签内容拼接".“符号。如:某"li"标签被点击时,该标签内容为”…"
注意:必须使用DOM0级标准事件(onclick)
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
</head>
<body>
<ul>
<li>.</li>
<li>.</li>
<li>.</li>
</ul>
<script type="text/javascript">
// 补全代码
</script>
</body>
</html>
我的解答:
document.querySelector('ul').onclick = function(event) {
event.target.innerText += '.'
}
解析:
本题考的就是基础知识,
target
表示当前触发的事件
,通过选择父元素ul
,然后进行事件代理,便得出了答案
数组去重
描述
请补全JavaScript代码,要求去除数组参数中的重复数字项并返回该数组。
注意:数组元素仅包含数字
示例1
输入:_deleteRepeat([-1,1,2,2])
输出:[-1,1,2]
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
</head>
<body>
<script type="text/javascript">
const _deleteRepeat = array => {
// 补全代码
}
</script>
</body>
</html>
我的解答:
<script type="text/javascript">
const _deleteRepeat = array => {
// 补全代码
return [...new Set(array)]
}
</script>
解析:
这道题可以说是完全白给,es6中的
set
集合即可以轻松解决,set集合具有自动去重的功能,es6知识详见es6知识总结
快速排序
描述
请补全JavaScript代码,要求将数组参数中的数字从小到大进行排序并返回该数组。
注意:1. 数组元素仅包含数字
2. 请优先使用快速排序方法
示例:
输入 : _quickSort([0,-1,1,-2,2])
输出:[-2,-1,0,1,2]
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
</head>
<body>
<script type="text/javascript">
const _quickSort = array => {
// 补全代码
}
</script>
</body>
</html>
我的解答:
<script type="text/javascript">
const _quickSort = array => {
// 补全代码
array.sort((a,b)=>{
return a-b
})
return array
}
</script>
解析:
这道题其实难度也不大,数组中的
sort
方法进行排序,但是sort方法默认是按照unicode码
顺序排列,这里传入一个函数,实现从小到大排序,sort排序详见文章js中sort()方法的详细讲解
小结
在学习知识的同时,我们必须要时刻回来做一些温习,这样的话才能进步,通过练题可以帮助我们巩固知识,牛客网值得大家去刷题来提升自己!