tuihou123321

tuihou123321 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

tuihou123321 回答了问题 · 10月29日

jquery.lazyload.js 懒加载图片,图片会重复加载两次?

可能是chrome 显示的问题:

使用firefox 图片只会加载一次:

image.png

关注 1 回答 1

tuihou123321 提出了问题 · 10月29日

jquery.lazyload.js 懒加载图片,图片会重复加载两次?

关注 1 回答 1

tuihou123321 回答了问题 · 10月25日

解决写一个方法,数据格式化处理

function format(times=[]){
    let arrNew=[[]]
    let i=0;
 times.forEach((item,index)=>{
        let strArr=item.date.split('/');
 if(arrNew[i].length===0){
            arrNew[i].push(item)
            return;
 }
        let arrNewLastOne=times[index-1].date.split('/');
 if(strArr[0]+'/'+strArr[1]===arrNewLastOne[0]+'/'+arrNewLastOne[1]){
            arrNew[i].push(item)
        }else{
            ++i;
 arrNew.push([]);
 arrNew[i].push(item)
        }
    })
    return arrNew;
}
console.log(format(times));

关注 3 回答 3

tuihou123321 提出了问题 · 10月25日

解决写一个方法,数据格式化处理

//原始数据
let times = [
    {
        date: '2020/10/29',
 type: '1'
 },
 {
        date: '2020/10/30',
 type: '2'
 },
 {
        date: '2020/11/1',
 type: '3'
 }
]


//实现一个方法把上面数据按照月份分组
//转换后的数据
let timesArr = [
    [
        {
            date: '2020/10/29',
 type: '1'
 },
 {
            date: '2020/10/30',
 type: '2'
 }
    ],
 [
        {
            date: '2020/11/1',
 type: '3'
 }
    ]
]

关注 3 回答 3

tuihou123321 回答了问题 · 9月22日

解决webstorm 如何查看某个文件在哪里被引用?

image.png
查看某个方法,某个文件在哪些地方被引用,选中要查看的对象(可以是对象声明处,也可以是引用处),按alt+F7
可以查看的类型:

  • 方法
  • 变量

对于查看vuex来说非常有用,变量存放在state中,要改变state中的值只能通过mutations,异步逻辑处理放在actions中,页面层要引用可以使用actions的内容,很清晰,不会让一个对象在任意地方随意的被引用和修改;

image.png
image.png

image.png

关注 3 回答 3

tuihou123321 赞了回答 · 9月16日

解决合并数组用 concat 还是 扩展运算符比较好?

究竟用哪种还是得根据你实际需求来的

concates5时就有的,优点是兼容性高,不需要转译
...es6新出的语法,简化了写法,代码看上去更简洁直观,但实际只是做了封装,底层还是用的原来的方法,如下为babel转译的结果

第二种写法

arr1 = [...arr1, ...arr2];
  ↓ 相当于
function _toConsumableArray(arr) {
 if (Array.isArray(arr)) { 
   for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; 
   } else { return Array.from(arr); }
}
arr1 = [].concat(_toConsumableArray(arr1), arr2);

第三种写法

arr1.push(...arr2);
  ↓ 相当于
arr1.push.apply(arr1, arr2);

再来看三种写法处理不同数据量的时间(数据分别为1,10,100) 单位:万

num:10000
 s1: 0.01813671875ms
 s2: 0.1808984375ms
 s3: 0.078857421875ms

num:100000
 s1: 0.8310546875ms
 s2: 10.428955078125ms
 s3: 8.025146484375ms

num:1000000
s1: 11.42724609375ms
s2: 83.867919921875ms
s3: Maximum call stack size exceeded

总结:
concat性能最优
在数据量极小时三者差异并不大
在数据有一定量时concat性能遥遥领先于 arr1 = [...arr1, ...arr2]arr1.push(...arr2)
在数据过大时第三种方法会因为apply的特点由于数据量过大导致堆栈溢出

关注 3 回答 3

tuihou123321 提出了问题 · 8月17日

vscode outline不支持查看export default中的方法列表,有什么解决方法?

问题:es6中的 export default 不支持查看方法列表

image.png

export default {
  fun1(state) {
  },
  fun2(state) {
  }
}

module.exports是支持的查看的


module.exports ={
  fun1(state) {
  },
  fun2(state) {
  }
}

image.png

webstorm以上两种都支持;是什么插件可以帮助vscode解决上面的问题?

关注 1 回答 0

tuihou123321 回答了问题 · 7月22日

解决node在服务端设置多个cookies?

这样即可

  const expiredays = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 29;
    const exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);

    const expiresValue=`;expires=${exdate.toUTCString()};domain=.xx.com;path=/`;

    res.setHeader('Set-Cookie', [ `uid=${uid}${expiresValue}`,  `accessToken=${accessToken}${expiresValue}`,`sdktoken=${sdktoken}${expiresValue}`]);
   

关注 1 回答 1

tuihou123321 提出了问题 · 7月22日

解决node在服务端设置多个cookies?

方案一:

缺点:不能设置过期时间,和domain

  res.setHeader('Set-Cookie', [ `uid=${uid}`,  accessToken=${accessToken}`,`sdktoken=${sdktoken}`]);

方案二:

缺点:只能设置一个,最后一个才生效,uid注入不了

import cookie from 'cookie'

 function setCookies(key,value){
      if(!value){
          return;
      }
      res.setHeader('Set-Cookie', cookie.serialize(key, String(value), {
        httpOnly: true,
        maxAge: 60 * 60 * 24 * 7, // 1 week
        domain:'.xx.com'
      }));
    }

  setCookies('uid','11');
 
   setCookies('accessToken','22');

关注 1 回答 1

tuihou123321 提出了问题 · 7月22日

测试一下,为啥隐藏我的问题?

怎么会隐藏呢

关注 1 回答 0

认证与成就

  • 获得 17 次点赞
  • 获得 123 枚徽章 获得 2 枚金徽章, 获得 34 枚银徽章, 获得 87 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2016-07-05
个人主页被 1.4k 人浏览