代码视界

Hanpeng Chen的个人博客

十大经典排序算法

前言在上一篇文章《Javascript-数组乱序》中我们提到不同浏览器采用不同的排序算法来实现Array.prototype.sort方法,今天我们一起来学习常见的几种排序算法。 我们常说的十大经典排序算法有:冒泡排序、选择排序、插入...

JavaScript数组乱序

前言对数组进行排序对我们来说很容易就能够实现,但是你有考虑过如何对一个有序的数组实现乱序,即随机排序吗? 数组乱序在实际开发过程中是可能碰到的,下面我们一起看看如何实现数组乱序。 sort + Math.random我们一开始可能会想...

JavaScript-数组去重

前言JavaScript的数组去重是前端比较常见的一个问题,今天我们来学习几种常见的数组去重方法。 欢迎关注我的微信公众号:前端极客技术(FrontGeek) 双层循环大部分人最先想到的是通过双层循环来去重。双层循环的实现原理很简...

JavaScript-数组扁平化

上一篇文章我们将JavaScript中数组的方法汇总了一下,本文我们一起来看看JavaScript数组常见的一个问题:数组扁平化。 什么是数组扁平化数组扁平化:就是讲一个复杂的嵌套多层的数组,一层一层地转化为层级较少或者只有一层的数组...

JavaScript-函数节流

在上一篇文章 JavaScript-函数防抖 中我们学习了什么是防抖,并且一步步实现了防抖函数,今天我们一起来学习节流(throttle)。 什么是节流函数节流(throttle):当持续触发事件时,保证一定时间段内只调用一次事件处理...

JavaScript-函数防抖

前言在前端开发过程中,我们会遇到一些频繁触发的事件,但我们需要控制回调的频率,比如下面几种场景: 游戏中的按键响应,比如格斗,比如射击,需要控制出拳和射击的速率。 自动完成,按照一定频率分析输入,提示自动完成。 鼠标移动和窗口滚动,...

LeetCode题解|1.两数之和

题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例:1234给定 ...