随笔(一)——项目代码优化

server/2024/10/11 13:21:13/

文章目录

  • 前言
  • 一、if判断点对象赋值
    • 1.需求
    • 2.原本方法
    • 3.优化方法
  • 二、数组的inclueles方法的使用
    • 1.需求
    • 2.原本方法
    • 3.优化方法
  • 三、数组对象的按顺序渲染Object.entries
    • 0. Object.entries的基本使用
    • 1.需求
    • 2.原本方法
    • 3.优化方法
    • 4. 问题


前言

提示:


一、if判断点对象赋值

1.需求

后端返回json格式的字符串,是无序的,然后页面渲染指定的字段在指定的位置。

2.原本方法

javascript">const questionForm = reactive({answer: ''
})
if(val === 'zhibiao') {questionForm.value1 = '指标答案'
} else if(val === 'weidu') {questionForm.value2 = '维度答案'
} else if(val === 'biaozhun') {questionForm.value3 = '标准答案'
} else if(val === 'coustom') {questionForm.value4 = '自定义答案'
}

3.优化方法

javascript">const questionMap: { [key: string]: string } = { value1: '指标答案', value2: '维度答案', value3: '标准答案', value4: '自定义答案',}if(questionMap[val]) {questionForm.answer = valMap[val];}

二、数组的inclueles方法的使用

1.需求

后端返回一个json,这个json中有七个键值对的对象。将原本展示为一行4个的改为tab渲染,由于是一个json数据,转为对象后,过滤value1,value2,value3,获取新数组

jsonArray 数据格式:
答案有多个,里面的对象就是一个json,手动处理成了数组,不然渲染的时候,每一次都需要判断是对应哪一个答案,比较麻烦

javascript">[{[value1, '答案1'],[value2, '答案2'],[value3, '答案3'],[value4, '答案4'],[value5, '答案5'],[value6, '答案6'],[value7, '答案7'],},{},
]

2.原本方法

json

javascript"> let tabsAnswer = jsonArray.filter((item: Array<any>) =>  item[0] === 'value1' || item[0] === 'value2' || item[0] === 'value3')let tabsQuestion = jsonArray.filter((item: Array<any>) =>  item[0] === 'value4' || item[0] === 'value5' || item[0] === 'value6' || item[0] === 'value7')

3.优化方法

javascript">let tabsAnswer = orderArray.filter((item: Array<any>) =>  ['value1', 'value2', 'value3'].includes(item[0]))
let tabsQuestion = orderArray.filter((item: Array<any>) =>  ['quickSql', 'quickIndicatorSql', 'quickDsl', 'quickIndicatorDsl'].includes(item[0]))

三、数组对象的按顺序渲染Object.entries

0. Object.entries的基本使用

Object.entries方法 MDN官方文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
Object.keys 获取对象所有的键,
Object.values获取对象所有的值
Object.entries 获取对象的所有的键值

javascript">let a = {'a': '111', b: '222'}
Object.entries(a) // [["a" "111"], ["b", "222"] ]

1.需求

后端返回一个数组,数组有个对象,对象中有个answer的属性值为json格式的字符串,这个json中有七个键值对的对象。将原本展示为一行4个的改为tab渲染,由于是一个json数据,转为对象后,需要判断key是什么,渲染对应的结果

2.原本方法

html页面上遍历 jsonArr数组,通过判断是否是value1/value2/value3来确定key,并获取value值

javascript">let jsonArr = [{'value1': '答案1','value2': '答案2','value3': '答案3','value4': '答案4','value5': '答案5','value6': '答案6','value7': '答案7',},{ },
]

3.优化方法

html页面上遍历 jsonArr数组,然后通过jsonItem使用Object.entries()方法获取数据如下,这样就可以按顺序渲染

javascript">jsonItem = [["value1","答案1"],["value2","答案2"],["value3","答案3"],["value4","答案4"],["value5","答案5"],["value6","答案6"],["value7","答案7"]
]

4. 问题

由于后端的数据返回是无序的,所以上述方法并未使用,优化了,没有完全优化


http://www.ppmy.cn/server/46552.html

相关文章

git远程仓库限额的解决方法——大文件瘦身

Git作为世界上最优秀的分布式版本控制工具&#xff0c;也是优秀的文件管理工具&#xff0c;它赋予了项目成员对项目进行远程协同开发能力&#xff0c;因此受到越来越多的行业从业人员的喜爱。很多优秀的项目管理平台&#xff0c;比如国内的Gitee&#xff0c;国外的Github&#…

slot 的用法

1.常规 slot是让一个组件预留插槽&#xff0c;用于扩展性设计。例如一个Window组件这么设计 <div class"window"><slot></slot></div> 那么使用者 <Window><span>xx</span></Window> 就等同于 <div class&…

IP代理池是什么?

从事跨境行业的朋友们总会有一个疑问&#xff0c;为什么自己所合作的IP代理商的IP在使用的过程中账号会有莫名封禁的问题&#xff0c;会不会是自己在使用的过程中错误的操作违反了平台的规则&#xff0c;其实不然有可能会是IP代理池纯净度不高的问题&#xff0c;有可能自己在使…

函数的创建和调用

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 提到函数&#xff0c;大家会想到数学函数吧&#xff0c;函数是数学最重要的一个模块&#xff0c;贯穿整个数学学习过程。在Python中&#xff0c;函数…

电机控制系列模块解析(23)—— 同步机初始位置辨识

一、两个常见问题 为什么感应电机&#xff08;异步机&#xff09;不需要初始位置辨识&#xff1f;&#xff08;因此感应电机转子磁场在定子侧进行励磁&#xff0c;其初始位置可以始终人为定义为0&#xff09; 为什么同步磁阻电机需要初始位置辨识&#xff1f;&#xff08;因为…

kali中切换python版本

kali中切换python版本 在日常使用的过程中&#xff0c;可以通过一些工具来做打靶环境&#xff0c;或者工具的启动&#xff0c;都和python关联&#xff0c;而有时存在工具安装&#xff0c;或者运行的时候出现报错&#xff0c;这时候极大可能是因为我们本地的kali中python的版本不…

WPF Binding对象、数据校验、数据转换

在WinForm中&#xff0c;我们要想对控件赋值&#xff0c;需要在后台代码中拿到控件对象进行操作&#xff0c;这种赋值形式&#xff0c;从根本上是无法实现界面与逻辑分离的。 在WPF中&#xff0c;微软引入了Binding对象&#xff0c;通过Binding&#xff0c;我们可以直接将控件与…

HTML大雪纷飞

目录 写在前面 HTML简介 完整代码 代码分析 运行结果 系列文章 写在后面 写在前面 小编又又又出现啦&#xff01;这次小编给大家带来大雪纷飞HTML版&#xff0c;不需要任何的环境&#xff0c;只要有一个浏览器&#xff0c;就可以随时随地下一场大雪哦&#xff01; HTM…