摘要: 思路:(这里只做了对象中如果有多层,多层嵌套还是个对象的形式) 1.把两个对象用Object.entries()转成数组,循环这两个数组,判断key和value,value再去判断数据类型(如果还是一个对象,那就用递归去重复),直到是基本数据类型的val1 == val2 2.通过一个中间变量去存储 阅读全文
posted @ 2021-06-19 15:44 猎奇游渔 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1. 双循环去重 var arr = [3, 6, 8, 9, 7, 4, 4, 7, 9, 8, 6, 3]; // 双循环去重 function clearRepeat(arr) { for (let i = 0; i < arr.length; i++) { let cur = arr[i] 阅读全文
posted @ 2021-06-19 13:30 猎奇游渔 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 快速排序: 1.找一个基准值,比如把数组第一项作为基准值,作为数组内剩下的比较项; 拿基准值与数组内的每一项去比较,大于这个基准值的push进right数组内,小于的push到left数组内。 2.再用递归把left和right两个数组分别再按照这种逻辑拆分成左右数组,直到传入的数组length<1 阅读全文
posted @ 2021-06-19 02:50 猎奇游渔 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序: 1.双层循环,因为自己不用跟自己比,所以循环的时候要arr.length-1,比如数组length为5,<5-1 -> < 4 ->那么就是0 1 2 3 循环四轮 2.外层循环是轮数,内存循环是比较次数(握手问题一样,你上一轮已经给我握过手了,咱俩比较过了,在次数循环中不需要给你握了。 阅读全文
posted @ 2021-06-19 01:37 猎奇游渔 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 插入排序: 插入排序的原理是通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应位置并插入。与我们玩纸牌去排牌一样。 var arr = [5, 100, 25, 36, 42, 4, 2, 7, 389, 12, 8]; function insertSort(arr) { l 阅读全文
posted @ 2021-06-19 01:20 猎奇游渔 阅读(26) 评论(0) 推荐(0) 编辑