js 数据处理(二)

为什么又要开一篇js 数据处理(二)呢,原因有两个,上一个数据处理已经写了很多内容了,导致看起来有点儿疲惫,其次是这篇更多记得的可能是es6 或者 vue3方面的,到时候也可能会开个ts的命名为 ts 数据处理(3), 哈哈哈

1、es6 解构赋值,过滤出一个数组对象中的某些键值对

questionBank= [
 {
    "id": 1,
    "group": "group1",
    "title": "title",
    "selects": "没有"
  },
   {
    "id": 2,
    "group": "group2",
    "title": "title",
    "selects": "有"
  },
  ]

像以上的数组中 我要拿取里面每个对象的id和group的键值对
笨方法:

let questionBankLog = []
 questionBank.forEach(element => {
      let obj = {}
      Object.keys(element).forEach(key => {
         if (key === 'id' || key === 'group') {
          obj[key] = element[key]
          questionBankLog.push(obj)
        }
      })
    });

较优雅的方法

   let questionBankLog = []
   questionBank.forEach(element => {
      let { title, selects, ...filterData } = element
      questionBankLog.push(filterData)
    });

2、使显示的和对象一一匹配

let moduleName = {
  ref: 'setRef', 
  emo: 'setEmo', 
  relax: 'setRelax',  
}
 //js中
 moduleName[ref]                   //setRef

 // template中
 {{ moduleName [emo] }}             //setEmo

3、动态改变方法名

比如 item.a() 中a是动态改变的,那么:

item[a]()

4、将 03:55 改成 3分钟

1\去掉冒号及冒号后面的数值
2\去掉字符串开头的0

let elem = "03:55"
elem.duration.substring(0, elem.duration.indexOf(':')).replace(/\b(0+)/gi, "")  // 3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值