js基础
Deity1007
这个作者很懒,什么都没留下…
展开
-
树形结构数据生成
function transTree(souceData) { const targetData = [] // 树形结构生成 // 核心思路: // 1. 先遍历原数组 以原数组中的每一项的id作为对象的key, 每一项本身作为对象的value形成一个对象结构(map) // 2. 遍历原数组 使用数组中的每一项的pid 去第一步形成的map结构去匹配key(id) 如果匹配上 // 就把当前项放入找到节点的children属性中去 如果无法完成匹配 代表当前项就是最根上的父.原创 2021-09-22 12:03:28 · 391 阅读 · 1 评论 -
手写深克隆
<script> const data = { name: 'cp', age: 20, list: [{ height: 180 }], info: { msg: '123' } } function deepCopy(source) { if (!isObject(source)) return source //如果不是对象的话直接返回 let target = Array.isArray.原创 2021-09-22 11:59:34 · 89 阅读 · 0 评论 -
将一个对象数组转换成二维数组
<script> // 源数据 - 要处理的数据 let sourceData = [ { name: "张三", age: 18 }, { name: "李四", age: 28 }, { name: "王五", age: 38 } ] // 处理后的结果 /** * let targetData = [ ['张三', 18], ['李四', 28].原创 2021-09-10 21:23:59 · 500 阅读 · 0 评论 -
原型链理解
原型对象:js中,绝大多数函数都有一个prototype 属性,指向原型对象基于构造函数创建出来的实例 ,都可以共享访问原型对象上的属性和方法比如: hasOwnProperty() 和 toString() 等 是Object原型对象的方法,可以被任何对象当作自己的方法使用hasOwnProperty() : 用于判断,某个属性,是不是自己的,还是原型链上的实例对象访问属性和方法时,优先访问自己身上的,自己身上没找到,往原型上找,如果还没有找到,会继续找原型的原型,直到找到...原创 2021-09-03 14:40:52 · 37 阅读 · 0 评论 -
继承 的 几种方式
为什么要有继承?将多个构造函数,建立关联,方便管理和复用继承的两个角度:方法的继承实例化属性过程的复用1 . 原型继承通过改造原型链实现继承,利用原型链的特征实现特征, 主要实现继承方法语法: 子构造函数.prototype = new 父构造函数()<script> // 1. 定义一个父构造函数 function Person(name,age) { this.name = name ...原创 2021-09-03 16:43:03 · 214 阅读 · 0 评论