JavaScript
文章平均质量分 67
我走路带风_
这个作者很懒,什么都没留下…
展开
-
前端扁平化数组转树结构
在业务中我们可能会开发树状组件或者用一些ui库的Tree组件,例如antd的Tree。如果不使用异步加载,通常后端会返回一个完整的树结构数据给前端,但也有例外的情况,后端给的是一个扁平化的数据,例如这样:这个时候就需要我们去将其处理为一颗树结构数据了。第一种方式:递归实现。递归的弊端在于存在性能瓶颈,大量数据的情况可能不太适合。第二种方式: 利用对象的弱引用实现相对与递归,因为只有一层遍历,性能上要更好一些。写法有很多种,这里只列了两种写法,但实现思路都是一样的,利用map数据结构创建一个字典,遍历原创 2022-06-20 20:27:54 · 1797 阅读 · 0 评论 -
JavaScript学习笔记(五):强制类型转换
类型转换JavaScript为基本数据类型提供了封装对象,它们被称为原生函数(String、Number、Boolean),并且为基本数据类型值提供了特有的方法和属性(toString()、length)。基于基本类型的值,js引擎会自动对该值进行封装,来实现对这些属性和方法的访问。toPrimitive抽象操作(内部使用的操作)包括toString、valueOf、toNumber、toBoolean。字符串toString()处理非字符串到字符串的转换,还有一些特殊的地方:数组原创 2022-03-27 17:45:07 · 845 阅读 · 0 评论 -
学习笔记(四):JavaScipt对象
深入javascript对象原创 2022-03-20 23:55:03 · 149 阅读 · 0 评论 -
学习笔记(三):JavaScript中的this
this调用位置:顾名思义,调用位置就是寻找函数被调用的位置,换句话说就是找到当前正在执行的函数的前一个调用,调用位置决定了this的绑定。调用栈:为了达到当前执行位置所调用的所有函数,调用位置就在当前正在执行函数的前一个调用中。this的绑定规则默认绑定:通过调用位置来决定默认绑定的对象是谁;函数运行(也可以理解为函数体存在与)在严格模式下无法将this绑定在全局对象上,它绑定的是undefined,但是函数调用在严格模式下时则不影响;在严格模式下调用函数不会影响this的默认绑原创 2022-03-19 14:40:08 · 344 阅读 · 0 评论 -
学习笔记(二):闭包
闭包原创 2022-03-10 00:35:51 · 869 阅读 · 0 评论 -
学习笔记(一):变量提升
提高对变量提升规则的理解原创 2022-03-06 23:30:50 · 562 阅读 · 0 评论 -
flat方法的简单实现
记录一下实现flat方法的过程flat实现的方式有很多种,这里只是记录一下其中的2种思路。Array.prototype.flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回递归实现 function flat(arr, depth) { if (depth == undefined) { depth = 1; }; if (depth > 0) { return arr.red原创 2021-02-24 16:04:57 · 1419 阅读 · 0 评论