Mason

Results 7 comments of Mason

代码 如下,支持负数 ```javascript function reverseNum(num) { if(num < 0) return '-' + reverseNum(Math.abs(num)); let str = num.toString(); return str.length === 1 ? str : str.slice(-1) + reverseNum(str.slice(0,-1)); } ````

> ```js > function convert(list) { > let m = new Map() > return list.reduce((pre,cur)=>{ > m.set(cur.id,cur) > let parent = m.get(cur.parentId) > if( parent){ > (parent.children || (parent.children =...

```javascript function opposite(str) { return str.replace(/[a-z]/ig,function (item) { return /[A-Z]/.test(item) ? item.toLowerCase() : item.toUpperCase(); }) } console.log(opposite('我w的天dxsdEsdf下')); //我W的天DXSDeSDF下 ``` 有问题欢迎指正

个人觉得有两个地方需要改正。 第一个就是 `constructor`中的 `resolve`方法需要判断`resolve`函数的参数是不是当前(实测:只能是当前`Promise`类,不能与其他类共用)`Promsie`类的实例,如果是,则调用参数的`then`方法。实现如下 ```js const resolve = data =>{ // 只能是当前Promise类的实例,其他Pormise类的实例则不可 if(data instanceof Promise){ return data.then(resolve, reject) } if(this.state === PENDING){ this.state = RESOLVED this.value = data this.onResolvedCbs.forEach(fn =>...

不考虑正则、函数等奇怪类型的拷贝,满足大多数深度拷贝需求 定制需求如下: 1、循环引用 2、Symbol 类型拷贝 ```javascript function deepClone(val,map = new WeakMap()){ if(val === null || typeof val !=='object') return val; //循环引用 if(map.has(val)) return map.get(val); let clone = Array.isArray(val) ? []...

I met the same problem, but I was using yarn 14.17.5