- 需求:前端开发获取数据时,需将对象按照相同前缀名分类;
- 首先,我们拿到的数据可能命名方式有点不统一,需将前缀名后的空格和下划线统一;
titlePrefix(name) { return name.replace(' ', '-').replace('_', '-').split('-')[0] }
用replace()方法将空格和 ‘_’ 全替换成 ‘-’ ;split()主要是用于对一个字符串进行分割成多个字符串数组,所以split('-')[0] 是将字符串按照 ‘-’ 分割,取第[0]个字符串,也就是最前面的,这时候就可以调用它了;
-
const groupPrefix = {}; data.forEach(strs =>{ let name = strs.id; const listItem = this.titlePrefix(name); if (!groupPrefix[listItem]) groupPrefix[listItem] = []; groupPrefix[listItem].push(strs) });
data是我们已有的数据源,将它遍历,将需要的分类的id执行上面声明的 titlePrefix() 方法;这时候再将所需要的数据push到分好类的新对象的同一前缀名的数组里
07-07
10万+