假数据仓库-常见数据枚举(日期、月份、周几、星期几,前导零、Excel 列号)
日期相关规律数据
(用 excel 自动填充来生成也很方便)
["1","2","3","4","5","6","7","8","9","10","11","12"]
["01","02","03","04","05","06","07","08","09","10","11","12"]
["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]
["01月","02月","03月","04月","05月","06月","07月","08月","09月","10月","11月","12月"]
["周一","周二","周三","周四","周五","周六","周日"]
["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
["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","27","28","29","30","31"]
["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"]
["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日","27日","28日","29日","30日","31日"]
快速凑出单元格列号(可快速扩展出常见的 excel 列号)
拼接原理
- 拿着排好序的26字母,利用 JS 字符串操作来拆解、拼接
const A_TO_Z_ARRAY = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("")
const AA_TO_AZ_ARRAY = A_TO_Z_ARRAY.map(item => "A"+item)
const BA_TO_BZ_ARRAY = A_TO_Z_ARRAY.map(item => "B"+item)
let AToBZArray = A_TO_Z_ARRAY.concat(AA_TO_AZ_ARRAY, BA_TO_BZ_ARRAY)
取得列号
const A_TO_Z_ARRAY = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("")
const AA_TO_AZ_ARRAY = A_TO_Z_ARRAY.map(item => "A"+item)
let otherColArr = ["AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ"]
let myCol = A_TO_Z_ARRAY.concat(otherColArr)
JS 字典是无序的,所以顺序可能并不如你想的那样…
所以采用 JavaScript 中的 map 来存,可以达到有序
let obj = {}
myCol.forEach(item => obj[item] = "")
let myMap = new Map()
myCol.forEach(item => myMap.set(item, ""))
[...myMap.keys()]
[...myMap.values()]
似乎有些麻烦了,填数据也没有很轻量直观的感觉,还是用对象+对照数组实现吧
let myCol = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ"]
let obj = {
"A": "A单元格",
"AE": "AE单元格"
}
let header = myCol.map(item => obj[item] || "")
对比改版前后的代码,写个优化总结
需要注意重复的值(作为 key 不能重复,会导致列对不上)
在谷歌浏览器控制台里敲会有个数提示,可以进一步确保数据的正确性
|