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

猜你喜欢

转载自blog.csdn.net/qq_46566911/article/details/124584422