自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 数据结构——二分查找

二分查找——一维数组二分查找——二维数组

2022-02-16 13:21:39 158

原创 JavaScript面试题目总结

JS面试题总结

2022-02-13 22:47:49 340

原创 常用Git命令

克隆仓库:git clone -b 分支名 地址查看状态:git status代码暂存:git stash取出:git pop提交代码流程+解决冲突:首先将自己代码提交到远程仓库: git add . git commit -m "msg" git push -u origin 分支 然后切换到主分支 git checkout Dev git pull origin Dev 切换为自己分支,合并主分支 git checkout my

2022-02-10 20:33:24 279

原创 数组中第二大的数JS

//找数组中第二小的数 let arr=[1,4,7,2,5,8,0] function find(arr){ let max=arr[0] let max2=-1 for(let i=1;i<arr.length;i++){ if(arr[i]>max){ max2=max max=arr[i] }else{ ...

2021-07-28 13:47:24 621

原创 前端面试题目

//闭包 function outer(){ var a=1 function inner(){ console.log(a++) } return inner } let count=outer() count() count() count() //执行顺序 console.log(1); setTimeout(() => {...

2021-07-26 09:31:07 73

原创 洗牌算法JS

function swap(i,j,arr){ let t=arr[i] arr[i]=arr[j] arr[j]=t } //洗牌算法 生成一个乱序的数组 function shuffle(arr){ for(let i=arr.length-1;i>=0;i--){ let n=Math.floor(Math.random()*(i+1)) swap(...

2021-07-21 20:56:53 84

原创 JavaScript数组去重

// 数组去重 function fun(arr){ //方法一 let list=[] for(let i=0;i<arr.length;i++){ if(arr.indexOf(arr[i])!=arr.lastIndexOf(arr[i])){ if(list.indexOf(arr[i])===-1) list.push(arr[i]) }else{ ..

2021-07-19 21:09:57 91 1

原创 排序算法JavaScript

// 交换数组中元素 // 方法一 Array.prototype.swap=function(originIndex,targetIndex){ let tmp=this[originIndex] this[originIndex]=this[targetIndex] this[targetIndex]=tmp return this } // 方法二 function swap(arr,i,...

2021-07-10 19:06:27 94

原创 call、apply、bind重写

call重写 //call重写 Function.prototype.call2=function(_this,...args){ //获取当前的函数体 let fun=this //获取传入的执行上下文 let ctx=_this // 在执行上下文执行函数 ctx.myfun=fun let res=ctx.myfun(...args) delete ctx.myfu

2021-04-17 09:10:33 146

原创 reduce实现map

// reduce方法 // arr.reduce(fun(sum,item,index,arr),initValue) 返回一个数组 // map方法 // arr.map((item,index)=>item+1) // reduce实现map Array.prototype.myMap=function(fn){ let result=[] let arr=this return arr.reduce((prev,cur,.

2021-04-13 19:44:30 140

原创 sleep函数

async function test(){ console.log('start') await sleep(1000) console.log('end') } function sleep(ms){ return new Promise((resolve)=>{ setTimeout(resolve,ms) }) } test()

2021-04-13 11:15:19 186

原创 promise

promise.race let promise1 = new Promise(function(resolve) { setTimeout(()=>{ resolve(1) },1000) }); let promise2 = new Promise(function(resolve) { resolve(2); }); let promise3 = new Promise(function(

2021-04-08 19:01:58 68

原创 函数防抖节流

// 函数防抖 function debounce(fn,delay){ let timer=null; return function(){ clearTimeout(timer); timer=setTimeout(()=>{ fn.apply(this,arguments) },delay) }}function handle(){ console.log('执行');}window

2021-03-30 10:56:37 69

原创 map重写 reduce重写

map重写 map重写 Array.prototype.map2=function(f){ let arr=this for(let i=0;i<arr.length;i++){ f(arr[i],i,arr) } } let arr=[1,2,3,4] arr.map((item,index)=>{ console.log(item); })reduce重

2021-03-17 11:32:18 264

原创 Ajax请求

Ajax发送请求 //Ajax发起请求 var xhr //兼容IE浏览器 // 1.创建XMLHttpRequest实例对象 if(window.XMLHttpRequest){ xhr=new XMLHttpRequest() }else{ xhr=new ActiveXObject('Microsoft.XMLHttp') } // 2.创建请求 //get请求 // xhr.open('G

2021-02-26 21:57:08 66

原创 JavaScript继承

原型继承 //继承 //父级构造函数 function Father(name,age){ this.name=name this.age=age } //父级构造函数原型方法 Father.prototype.say=function(){ console.log(this.name) console.log(this.age); } //子级构造函数 function C

2021-02-24 10:45:34 72

原创 代码实现字符串repeat方法

//字符串repeat方法重写 //所有的字符串都有的方法应该添加在原型对象上 String.prototype.repeat=function(n){ var self=String(this) var str='' for(let i=0;i<n;i++){ str+=self } return str } console.log('a'.repeat(3...

2021-02-23 21:49:18 605

原创 JavaScript算法——螺旋矩阵

螺旋矩阵//螺旋数组 let luoxuan =(matrix)=>{ if(matrix.length==0) return [] let arr1=[] let top=0; let bottom=matrix.length-1; let left=0; let right=matrix[0].length-1; while(top<=bottom&&le

2021-02-22 21:38:32 155

原创 对象深浅拷贝

对象深浅拷贝 //对象浅拷贝 function copy(origin,target){ var target=target||{} for(var key in origin){ target[key]=origin[key] } return target } //对象深拷贝 function deepCopy(origin,target){ var target=t

2021-02-22 20:09:43 84

原创 代码实现instanceof

代码实现instanceof //代码实现instanceof //判断构造函数r的原型对象是否在l的原型链上 function instance_of(l,r){ r=t.prototype; l=l.__proto__; while(true){ if(l===null){ return false } if(l===r){

2021-02-21 21:53:06 134

原创 代码实现new

代码实现构造函数中的new关键字 //代码实现new function New(func){ console.log(func); //创建一个空对象 let res={} //对象的__proto__指向构造函数的prototype res.__proto__=func.prototype //ret为返回值,返回值如果不是引用数据类型,返回res //返回值如果是引用数据类型 返回

2021-02-21 11:58:35 277

原创 js实现链表

js实现链表 //js 链表 class Node{ constructor(element){ this.value=element; this.next=null; } } class NodeList{ constructor(){ this.head=null; this.size=0 } getNo

2021-02-19 11:11:43 110

原创 JavaScript算法——数组扁平化

数组扁平化 var arr=[1,[2,[3,3],2],1] function flat(arr){ var newArr=[] for(var i=0;i<arr.length;i++){ //判断数据类型 if(Object.prototype.toString.call(arr[i])=='[object Array]'){ //扩展运算符作用: 1.将元素序列合成数

2021-01-27 22:53:03 97

原创 用两个栈实现队列——JavaScript

用两个栈实现队列 //用两个栈来实现队列 //进1234,出1234 //push方法直接进instack即可 //pop方法要将4321全部放入outstack,然后outstack.pop() //此时分为两种情况 1.若outstack非空,直接pop 2.若outstack为空,再将instack全部放入outstack //时间复杂度O(n)(看循环) 空间复杂度O(n)(看数组,看递归) var instack=[] var outstack=[] function Pus

2021-01-26 16:20:23 132

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除