js刷题练习

简介: 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()方法的详细讲解


小结


在学习知识的同时,我们必须要时刻回来做一些温习,这样的话才能进步,通过练题可以帮助我们巩固知识,牛客网值得大家去刷题来提升自己!



相关文章
|
6月前
|
存储 JavaScript 前端开发
JS项目练习
JS项目练习
|
5月前
|
JavaScript 前端开发
记录Javascript数组类练习
记录Javascript数组类练习
23 1
|
5月前
|
JavaScript 前端开发
JS循环语句以及一些小练习
JS循环语句以及一些小练习
30 1
|
5月前
|
存储 前端开发 JavaScript
[初学者必看]JavaScript 简单实际案例练习,锻炼代码逻辑思维
【6月更文挑战第2天】这是一个前端小项目合集,包括图片轮播器、动态列表、模态框、表单验证等14个项目,旨在帮助初学者提升编码技能和实战经验。每个项目提供关键提示,如使用HTML、CSS和JavaScript实现不同功能,如事件监听、动画效果和数据处理。通过这些项目,学习者可以锻炼前端基础并增强实际操作能力。
92 2
|
5月前
|
前端开发 JavaScript 搜索推荐
[初学者必看]JavaScript 15题简单小例子练习,锻炼代码逻辑思维
【6月更文挑战第3天】这是一个JavaScript编程练习集,包含15个题目及答案:计算两数之和、判断偶数、找数组最大值、字符串反转、回文检测、斐波那契数列、数组去重、冒泡排序、阶乘计算、数组元素检查、数组求和、字符计数、数组最值和质数判断以及数组扁平化。每个题目都有相应的代码实现示例。
414 1
|
5月前
|
前端开发 JavaScript 容器
技术经验解读:个人练习:使用HTML+CSS3制作图片轮播功能(不使用JavaScript)
技术经验解读:个人练习:使用HTML+CSS3制作图片轮播功能(不使用JavaScript)
64 0
|
5月前
|
JavaScript 前端开发
记录JavaScript练习
记录JavaScript练习
22 0
|
6月前
|
JavaScript 前端开发 C语言
JavaScript编程语法练习
本篇文章是对于javaScript中if ,switch,while ,do-while,,for语法的作业练习.对于我来说也是对自己知识掌握的一种检验.是对js的基础语法进行的一次练习,通过有趣的示例进行练习,使得对于代码能够增加印象,对于知识的掌握更加透彻.
|
6月前
|
存储 JavaScript
JS中相等(==)和等全(===)的区别与练习
JS中相等(==)和等全(===)的区别与练习
39 1
|
6月前
|
移动开发 前端开发 JavaScript
H5+CSS3+JS逆向前置——4、DIV+CSS绘制旗帜练习
H5+CSS3+JS逆向前置——4、DIV+CSS绘制旗帜练习
64 0