摘要: call的实现 Function.prototype.Call=function(...args){ var context=args[0]||window; var argArr=args.slice(1) context.fn=this; //相当于给context加了一个fn属性,属性值为当前 阅读全文
posted @ 2020-05-25 18:08 apple78 阅读(400) 评论(0) 推荐(0)
摘要: let res=flat([1,2,[3,[4,5,[6,7,8,[10]]]]]) function flat(arr){ let isdeep=arr.some(item=>item instanceof Array); if(!isdeep){ return arr; } let res=Ar 阅读全文
posted @ 2020-05-25 16:43 apple78 阅读(108) 评论(0) 推荐(0)
摘要: 1.在JS里Array是一个类 slice是此类里的一个方法 ,那么使用此方法应该Array.prototype.slice这么去用 function test(a,b,c,d) { var arg = Array.prototype.slice.call(arguments,1); alert(a 阅读全文
posted @ 2020-05-25 15:54 apple78 阅读(102) 评论(0) 推荐(0)
摘要: js 里面的 Number 用64位浮点数表示,数值范围为 -2^53 2^53 (包含边界)。如果数值相加后的结果超过这个范围,则会导致精度丢失。 大数相加原理是利用数组可以自动扩容来保存计算结果,并用字符串的形式输入与输出。 function add (str1, str2) { str1=st 阅读全文
posted @ 2020-05-25 12:40 apple78 阅读(373) 评论(0) 推荐(0)
摘要: let arr=[5,7,5,8,1,2,9,10,51]; let len=arr.length; function a(arr){ if(arr==null||arr.length<2) {return null;} for(let i=0;i<len;i++){ heapinsert(arr, 阅读全文
posted @ 2020-05-25 12:00 apple78 阅读(127) 评论(0) 推荐(0)
摘要: let arr=[5,7,5,8,1,2,9,10,51,12,18,9,10,2,5]; let len=arr.length; function a(arr){ if(arr==null||arr.length<2) {return null;} let i,j; for(i=0;i<len;i 阅读全文
posted @ 2020-05-25 11:10 apple78 阅读(100) 评论(0) 推荐(0)
摘要: let arr=[5,7,5,8,1,2,9,10,51,12,18,9,10,2,5]; let len=arr.length-1; function a(arr){ if(arr==null||arr.length<2) {return null;} let i; for(let end=len 阅读全文
posted @ 2020-05-25 11:02 apple78 阅读(93) 评论(0) 推荐(0)
摘要: let arr=[5,7,5,8,1,2,9,10,51,12,18,9,10,2,5]; function a(arr){ if(arr==null||arr.length<2) {return null;} let i,j; for(i=1;i<arr.length;i++){ for(j=i- 阅读全文
posted @ 2020-05-25 10:55 apple78 阅读(93) 评论(0) 推荐(0)
摘要: let arr1=[5,7,5,8,1,2,9,10,51,12,18,9,10,2,5]; function sor1(arr,l,r){ if(l==r){ return; } let mid= Math.floor((l+r)/2); sor1(arr,l,mid); sor1(arr,mid 阅读全文
posted @ 2020-05-25 10:22 apple78 阅读(100) 评论(0) 推荐(0)