目录
🍉 冒泡排序:
- <script>
- for(var i=0;i
length-1;i++){ - for(var j=0;j
length-i-1;j++){ - if(arr[j]>arr[j+1]){
- var temp=arr[j];
- arr[j]=arr[j+1];
- arr[j+1]=temp;
- }
- }
- if(arr[j]===arr[j-1]) i++;
- }
- script>
🍉 选择排序:
- <script>
- for(var i=0;i
length;i++){ - var min=i;
- for(var j=i+1;j
length;j++){ - if(arr[j]
- }
- if(min!==i){
- var temp=arr[i];
- arr[i]=arr[min];
- arr[min]=temp;
- }
- if(arr[i]===arr[i+1])i++;
- }
- script>
🍉 快速排序:
- <script>
- function quickSort(arr) {
- if (arr.length <= 1) return arr;
- var centerIndex = ~~(arr.length / 2);
- var left = [];
- var right = [];
- for (var i = 0; i < arr.length; i++) {
- if (i === centerIndex) continue;
- if (arr[i] < arr[centerIndex]) left.push(arr[i]);
- else right.push(arr[i]);
- }
- return quickSort(left).concat(arr[centerIndex], quickSort(right));
- }
- script>
5、什么是事件轮询(EventLoop) ?
🍉
一个用来等待和发送消息和事件的程序结构。
1
、所有任务都在主线程上执行,形成一个执行栈。
2
、主线程发现有异步任务,如果是微任务就把他放到微任务的消息队列里,如果是宏任务就把他放到宏任务的消息队列里。
3
、执行栈所有同步任务执行完毕。
4
、执行微任务队列,之后再执行宏任务队列。
5
、轮询第
4
步。
🍉 不改变原数组的方法:
concat()every()filter()forEach()indexOf()join()lastIndexOf()map()some()every()slice()reduce()reduceRight()flat()flatMap()find ()
http:/https: 协议www.baidu.com 域名:8080 端口/sf/vsearch 路径?wd = 百度热搜 查询 ( 可有可无 )#a=1&b=2 哈希值 ( 可有可无 )