# 自己项目中的使用记录

# json 相关

对象:由花括号括起来的逗号分割的成员构成;
成员:是字符串键(对象、数组、数字、字符串或者三个字面值(false、null、true 英文必须小写))由逗号分隔的键值对组成;

# json中 键值对的位置调整

指定某个键值对的位置

//arr 传入的就是json [{value:xxx,label:xxx,挡车工:xxx},{}]
// 要求是:label value这个顺序,后面的不管
//数据格式: [{label:xxx,value:xxx,挡车工:xxx},{}]
  changeJsonKeyValueOrder(arr) {
    let newArr = []
    let len = arr.length
    for (let i = 0; i < len; i++) {
      let obj = arr[i]
      // 获取key 将key数据处理成 label value xxx 格式
      let keyArr = Object.keys(obj)
      // 处理label 到 第一的位置
      keyArr.splice(keyArr.indexOf('label'), 1)
      keyArr.splice(0, 0, 'label')
      // 处理value 到 第二的位置
      keyArr.splice(keyArr.indexOf('value'), 1)
      keyArr.splice(1, 0, 'value')
      // console.log('keyArr', keyArr)
      let newObj = {}
      for (let j = 0; j < keyArr.length; j++) {
        newObj[keyArr[j]] = obj[keyArr[j]]
      }
      newArr.push(newObj)
    }
    console.log('处理好的json数据', newArr)
    return newArr
  },
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 数组相关

# 分组 根据获取的数组某个字段分组

描述 获取一个数组,处理数组 根据数组内的一个字段分组

// data 就是要处理的数据
// key 是根据数组的哪个字段分组 比如:如下图的key这个字段应该是label
getGroup(data, key) {
  let groups = {};
  data.forEach((e) => {
    let value = c[key];
    groups[value] = groups[value] || [];
    groups[value].push(e);
  });
  return groups;
},
1
2
3
4
5
6
7
8
9
10
11

分组

Last Updated: 3/20/2023, 3:42:35 PM