原生js相关
原生js相关问题描述
东方孤独
这个作者很懒,什么都没留下…
展开
-
浮点数转有效位数字问题
面试题:要求输出如下1.234=>1.24 100.123=>100.13 0.00232323=>0.01即保留两位小数,如后面不为0 则前一位加1代码如下: function num2Str(num){ var numStr=String(num) var dotIndex=numStr.indexOf('.') if(dotIndex===-1) return numStr+'.00' dotIndex=dotIndex+2 var dotStr=nu原创 2021-09-27 22:15:56 · 120 阅读 · 0 评论 -
循环打印输出
面试中手写循环打印输出function random(){ return new Promise(resolve=>{ resolve(Math.random()) })}// case 1for(var i=0;i<10;i++){ setTimout(()=>{ random().then(res=>{ console.log("current:"+i+"rendom result:"+res) }) },0,i)}// c原创 2021-09-27 22:02:43 · 106 阅读 · 0 评论 -
判断对象的值是否完全相等
function isEqual(objA,objB){ var keysA=Object.keys(objA); var keysB=Object.keys(objB); if(keysA.length!==keysB.length) return false; for(var i=0;i<keysA.length;i++){ var key=keysA[i] if(typeof objA[key] !== typeof objB[key]) re原创 2021-09-25 17:02:14 · 169 阅读 · 0 评论 -
算法-数组随机生成
随机打乱数组,数组原地交换不依赖新的数组变量function sort(arr){ for(var i=0;i<arr.length-1;i++){ var randIdx=Math.floor(Math.random()*(arr.length-i)); [arr[randIdx],arr[arr.length-i-1]]=[arr[arr.length-i-1],arr[randIdx]]; } return arr}...原创 2021-09-16 21:46:18 · 70 阅读 · 0 评论 -
算法-判断字符串闭合
(),{},[] 三种类型符号组成未知长度字符串,判断该字符串是否是闭合字符串是闭合则返回true 否则返回false例如:(){}[] // true([) // false({[]}) // truefunction judge(str){ var length=str.length; var right=[']','}',')']; var strArr=[]; for(var i=0;i<length;i++){ var cur=s原创 2021-09-16 20:53:19 · 613 阅读 · 0 评论 -
js之reduce操作
js操作之reduce1.遍历求和 const arr=[ {id:1,value:1}, {id:2,value:1}, {id:3,value:1}, {id:3,value:2}, {id:2,value:5} ]预计输出[ {id:1,value:1}, {id:2,value:6}, {id:3,value:3},]2.方法reducearr.reduce((pre,next)=>{ let findIndex=p原创 2021-04-02 16:57:51 · 74 阅读 · 0 评论 -
前端this使用总结
1.全局环境下:this始终指向window2.函数直接使用时,2.1 严格模式下:this为undefined2.2 非严格模式:this为全局window3.对象中使用时,3.1 对象内部方法的this指向调用此方法的对象本身3.2 多层嵌套对象,内部方法的this指向最近的调用对象3.3 原型链中的this,也指向调用它的对象4.构造函数中的this4.1 如返回值不是对象,则this指向创建的对象本身4.2 如人为指定返回为对象,则this指向该对象4.3 call&a原创 2020-12-10 17:43:19 · 774 阅读 · 1 评论