![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 91
谁是听故事的人
白日不到处,青春恰自来。苔花如米小,也学牡丹开。
展开
-
JavaScript中数组去重的几种方法(双循环去重、indexOf去重、相邻元素去重、对象属性去重、set与解构赋值去重、set与Array.form去重)
1、双循环去重 双重for(或while)循环是比较笨拙的方法,它实现的原理很简单:先定义一个包含原始数组第一个元素的数组,然后遍历原始数组,将原始数组中的每个元素与新数组中的每个元素进行比对,如果不重复则添加到新数组中,最后返回新数组;因为它的时间复杂度是O(n^2),如果数组长度很大,那么将会非常耗费内存. function unique(arr) { if (!Array.isArr...原创 2020-03-11 17:40:15 · 1021 阅读 · 0 评论 -
js排序算法(冒泡排序、插入排序、选择排序、快速排序、归并排序)
关于排序算法,此篇简单整理下,以加强记忆。 1、冒泡排序 思路:对于包含n个元素的序列,需要进行n-1次冒泡循环。 每i轮从第一个元素开始,把当前元素和下一个索引元素进行比较。如果当前元素较大,那么就交换位置,重复操作直到比较到n-i个元素,那么此时第n-i个元素就是该数组中最大的数(第i轮循环相邻的两个元素只比较到n-i个元素的原因是:第一轮比较之后第n个元素已经是所有n个元素中最大的了,因此...原创 2019-11-29 18:42:36 · 150 阅读 · 0 评论 -
前端算法总结(字符串反转、回文串检测、数组去重、统计字符串中出现次数最多的字符以及括号匹配)
最近在网上看到了一些算法相关的知识,总结一下。 字符串反转算法 思路:先用split() 方法把字符串分割成字符串数组,再利用reverse() 方法颠倒数组中元素的顺序,最后用join() 方法把数组中的所有元素放入一个字符串。 //字符串反转 var oldStr = “abcdefg”; var newStr = reverseStr(oldStr); document.write(“ol...原创 2019-11-26 13:50:15 · 457 阅读 · 0 评论