美文网首页
JS日常Tips

JS日常Tips

作者: 南蓝NL | 来源:发表于2019-03-18 12:43 被阅读0次
场景1

两个对象之间的的拷贝,A对象中有一个key是B对象不需要的,假设有个对象A定义如下

reqData = {       
            "beginTime": this.startTime,
            "endTime": this.endTime,
            "channels": this.channelAction,
            "code": '',
            "genderIds": this.sexAction,
            "products": this.productAction,
            "citys": this.regionAction,
            "pageNumber": this.pageNumber,
            "pageSize": this.pageSize,
            "sort": this.sort,
            "order": this.order
        };

现在要这个A对象拷贝给B对象,但是不需要order这项值
思考ing........ 拷贝(深拷贝、浅拷贝)=> 删除
深拷贝:reqData_copy = JSON.parse(JSON.stringify(this.reqData)); // 深拷贝
浅拷贝 : 直接赋值
删除: delete reqData_copy [‘order’]

深拷贝的原生方法
const  deepCopy = (sourceObj) =>{
  if(typeof sourceObj !== 'object')return;
  let newObj = sourceObj instanceOf Array ? []:{};
  for(let key in sourceObj){
    if(sourceObj.hasOwnProperty(key)){
      newObj[key] = (typeof sourceObj[key] === 'object'?deepCopy[key]:sourceObj[key]);
    }
  }
  return newObj;
}
let obj = {a:1,arr:[3,3]};
let res = deepCopy(obj);
console.log(res)
场景2

对象的遍历和filter的用法

Object.keys(this.levelList)
        .filter(key => {
          return key != "0";
        })
        .map(key => {
          return +key; // 将字符串转化为number
        });

相关文章

  • JS日常Tips

    场景1 两个对象之间的的拷贝,A对象中有一个key是B对象不需要的,假设有个对象A定义如下 现在要这个A对象拷贝给...

  • JS Tips

    遍历对象的所有属性 添加属性 给普通的 JS 对象添加属性: 但是对于 Mongodb 中的对象,不可直接添加属性...

  • 关于RN的flexbox tips

    flexbox 日常积累的小tips Tips react 宽度基于pt为单位, 可以通过Dimensions 来...

  • 04-js的语句

    js的语句 java的语句if判断switch循环for、while、do while js的语句if判断Tips...

  • 基于webpack5+vue3+ts的chrome插件开发环境搭

    tips: 本框架目前支持options和popup页面打包,background.js、content.js和d...

  • vuedose.tips(翻译系列十八)

    Debugging Templates in Vue.js Let’s end this Vue Tips Ove...

  • 李宏毅 GAN lecture(2018)笔记_P6

    1. Tips for Improving GAN - WGAN, EBGAN 首先是JS divergence失...

  • js prototype tips

    用function定义的“类型”即方法有prototype属性,该属性指向此类的原型对象(是对象不是类型)。用fu...

  • js 小贴士 Tips

    js new创建对象时有无括号的区别 比如: //如果不加参数的话,这两个创建方式没啥区别,如果需要带参数,必须使...

  • JS_Tips

    不定时更新 let var const let:块级作用域;var:全局或者函数级;cons...

网友评论

      本文标题:JS日常Tips

      本文链接:https://www.haomeiwen.com/subject/aocqmqtx.html