//冒泡
// var arr = [2, 3, 1, 4, 5, 3, 5, 7]
// for (var i = 0; i < arr.length; i++) {
// for (var j = 0; j < arr.length - 1 - i; j++) {
// if (arr[j] > arr[j + 1]) {
// var value = arr[j + 1]
// arr[j + 1] = arr[j]
// arr[j] = value
// }
// }
// }
// console.log(arr)
//数组去重
// var sameArr = [2, 3, 4, 5, 5, 4, 3, 2]
// var obj = {}
// var sameData = []
// sameArr.forEach((value, index) => {
// if (obj[value] == undefined) {
// obj[value] = true
// sameData.push(sameArr[index])
// }
// })
// console.log(sameData)
//找出一个字符串中出现次数最多的字母
// var str = 'abcdefghdijklmnopqrdstucdvwdxyz'
// var arrStr = str.split('')
// var showNum = 0
// let tempNum = 0
// var index = null
// for (var a = 0; a < arrStr.length; a++) {
// tempNum = 0
// for (var b = 0; b < arrStr.length - 1; b++) {
// if (arrStr[b] === arrStr[b + 1]) {
// tempNum = tempNum + 1
// }
// // console.log(tempNum,'tempNum')
// let temc = null
// temc = arrStr[b]
// arrStr[b] = arrStr[b + 1]
// arrStr[b + 1] = temc
// }
// if (tempNum > showNum) {
// index = a
// showNum = tempNum
// }
// console.log(tempNum, showNum, a, b)
// }
// console.log(showNum, tempNum, index, arrStr[index], arrStr,
// `${arrStr[index]}出现次数最多,为${showNum + 1}`)
// var obj = {}
// str.split('').forEach((value,index)=>{
// if(obj[value]==undefined){
// obj[value] = 1
// }else{
// obj[value] = obj[value] + 1
// }
// })
// var max = 0
// var objKey = ''
// for(key in obj){
// if(obj[key] > max){
// max = obj[key]
// objKey = key
// }
// // console.log(obj[key],key,'key')
// }
// console.log(obj,max,objKey,'obj')
// let p0 = new Promise(function (resolve, reject) {
// resolve()
// console.log(`6`)
// }).then((res) => {
// console.log(`0`);
// }).then((res) => {
// console.log(`1`);
// })
// let p1 = new Promise(function (resolve, reject) {
// resolve()
// }).then(() => {
// console.log(`2`);
// })
// p0.then((res) => {
// console.log(`3`);
// }).then(() => {
// console.log(`4`)
// })
// console.log(`5`)
/*
首先执行同步代码(promise回调中的也属于同步代码,所以先执行po中的resolve,将
console.log(0)加入到了微任务队列,打印6,接着执行p1中的resolve,将
console.log(`2`)加入到了微任务队列,然后打印5,然后根据从上往下的执行
顺序先后将console.log(1)、console.log(3)和
console.log(4)依次加入到微任务队列,然后根据微任务队列的排序,先后打印0、2、
1、3、4)
*/
// import React, { FC, useState } from 'react';
// let index = 0
// const App: FC = function(): JSX.Element {
// const [number, setNumber] = useState(0)
// if (!index) const [name] = useState('Tom')
// const [age] = useState(18)
// if (index) const [action] = useState('say')
// index++
// console.log(age)
// return (
// <div onClick={() => setNumber(number + 1)}>
// Add
// </div>
// )
// }
// export default App
// setTimeout(function() {
// console.log('a')
// }, 0)
// new Promise(function(resolve) {
// console.log('b')
// for (let i = 0; i < 10000; i++) {
// if (i === 10) {
// console.log('c')
// }
// i == 9999 && resolve('d')
// }
// }).then(function(val) {
// console.log(val)
// })
// console.log('e');
console