浠婂ぉ缁欏ぇ瀹跺甫鏉avaScript鎵嬪啓鍔熻兘鐨勭浜岄儴鍒嗐€傝繖娆℃暣鐞嗕簡涔嬪墠闈㈣瘯閬囧埌鐨勬墜鍐欏姛鑳斤紝寰楀埌浜嗗緢澶氬皬浼欎即鐨勫弽棣堛€備笁閲戝洓閾跺凡缁忎笉杩滀簡銆傝櫧鐒跺ぇ鐜涓嶅ソ锛屼絾杩樻槸瑕佽嚜宸卞姫鍔涖€傜幇鍦ㄦ鏄潤涓嬪績鏉ワ紝鎻愬崌鍐呭姛鐨勫ソ鏈轰細銆傝瘽涓嶅璇达紝骞插氨骞诧紒1.Promise.allPromise.myAll=function(promises){returnnewPromise((resolve,reject)=>{//promises鍙互涓嶆槸鏁扮粍锛屼絾蹇呴』鏈塈terator鎺ュ彛if(typeofpromises[Symbol.iterator]!=='function'){reject('TypeError:promisesisnotiterable')}if(promises.length===0){resolve([])}else{constres=[]constlen=promises.lengthletcount=0for(leti=0;i{res[i]=datacount+=1if(count===len){resolve(res)}}).catch((err)=>{reject(err)})}}})}//testfunctionp1(){returnnewPromise((resolve,reject)=>{setTimeout(resolve,1000,1)})}functionp2(){returnnewPromise((resolve,reject)=>{璁剧疆鏃堕棿out(resolve,1000,2)})}Promise.myAll([p1(),p2()]).then(res=>{console.log(res)//[1,2]})2銆丳romise.racePromise.myRace=function(promises){returnnewPromise((resolve,reject)=>{//promises鍙互涓嶆槸鏁扮粍锛屼絾蹇呴』鏈塈terator鎺ュ彛if(typeofpromises[Symbol.iterator]!=='function'){reject('TypeError:promisesisnotiterable')}for(constitemofpromises){//鍏堝嚭鏉ョ殑缁撴灉浼氳resolved鎴杛ejected锛屼竴鏃︾姸鎬佹敼鍙橈紝灏变笉浼氬啀鏀瑰彉Promise.resolve(item).then(resolve,reject)}})}//testfunctionp1(){returnnewPromise((resolve,reject)=>{setTimeout(resolve,1000,1)})}functionp2(){returnnewPromise((resolve,reject)=>{setTimeout(resolve,1000,2)})}Promise.myRace([p1(),p2()]).then((res)=>{console.log(res)//1})3.Promise.anyPromise.myAny=function(promises){returnnewPromise((resolve,reject)=>{//promises鍙互涓嶆槸鏁扮粍锛屼絾蹇呴』鏈塈terator鎺ュ彛if(typeofpromises[Symbol.iterator]!=='鍔熻兘on'){reject('TypeError:promisesisnotiterable')}constlen=promises.lengthletcount=0for(leti=0;i{count+=1if(count===promises.length){reject(newError('Allpromisesfailed'))}})}})}//娴嬭瘯鍑芥暟p1(){returnnewPromise((resolve,reject)=>{setTimeout(reject,1000,1)})}functionp2(){returnnewPromise((resolve,reject)=>{setTimeout(resolve,1000,2)})}Promise.myAny([p1(),p2()]).then((res)=>{console.log(res)//2})4.鍐掓场鎺掑簭鍑芥暟bubbleSort(arr){letlen=arr.lengthfor(leti=0;iarr[j+1]){//浜ゆ崲浣嶇疆[arr[j],arr[j+1]]=[arr[j+1],arr[j]]}}//鍦ㄦ瘡娆¢亶鍘嗙粨鏉熸椂锛屽彲浠ユ壘鍒颁竴涓渶澶у€兼斁鍦ㄦ暟缁勭殑鏈熬}returnarr}//testconstarr=[3,1,2,5,4]console.log(bubbleSort(arr))//[1,2,3,4,5]5锛岄€夋嫨鎺掑簭鍑芥暟selectSort(arr){letlen=鍒般€俵engthfor(leti=0;iarr[j]){minIndex=j}}//鏈€灏忓拰绗竴涓氦鎹綅缃甗arr[i],arr[minIndex]]=[arr[minIndex],arr[i]]}returnarr}//testconstarr=[3,1,2,5,4]console.log(bubbleSort(arr))//[1,2,3,4,5]6.蹇€熸帓搴忓嚱鏁皅uickSort(arr){if(arr.length<=1)returnarr//姣忔鍙栫涓€涓厓绱犱綔涓哄弬鑰冨€糲onstpivot=arr.shift()constleft=[]constright=[]for(leti=0;i