![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
scorpio_h
这个作者很懒,什么都没留下…
展开
-
如何打乱一个数组
方法一:新建个空数组,从原数组中随机截取一个元素插入空数组中,直到数组长度变为0function random (arr) { let dp = [...arr] const result = [] while (dp.length > 0) { let randomIndex = Math.floor(Math.random() * (dp.length)) result.push(dp.splice(randomIndex, 1)[0]) } return原创 2020-10-10 15:42:33 · 696 阅读 · 0 评论 -
一次性删除一个数组中多个元素
正常的循环删除,在删除第一个的时候数组内元素的下标已经被改变,所以无法使用常规的循环删除。以下两种方法可以正常删除一个数组中多个指定元素1、filterlet arr = [1, 3, 5, 7, 9];arr = arr.filter(item => item !== 5);2、逆向循环(从尾部开始向前查找,这样还没有被查到的元素位置也不会被改变)let arr = ...原创 2018-11-13 10:52:59 · 6577 阅读 · 0 评论 -
算法之排序算法(快速、选择、冒泡、希尔)
排序算法大致有这些:常用的排序算法大致四种快速、选择、冒泡、希尔1、快速排序快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用。快速排序是一种既不浪费空间又可以快一点的排序算法。先从数列中取出一个数作为“基准”。 分区过程:将比这个“基准”大的数全放到“基准”的右边,小于或等于“基准”的数全放到“基...原创 2019-07-07 20:59:45 · 1020 阅读 · 0 评论