filterOptions() {
return this.dynamicValidateForm.domains.map(item => {
const chickeIds = this.dynamicValidateForm.domains.filter(v => v.value !== item.value).map(v => v.value);
const list = this.options.filter(v => !chickeIds.includes(v.value))
return list
})
},
请问这段JS代码应该怎么优化
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
14条回答 默认 最新
- 游一游走一走 2023-07-04 16:49关注
不用改啦,有性能问题吗?这样读的比较清晰,如果有性能问题要优化,可以参考下面的代码
const data = { dynamicValidateForm: { domains: [ {value: "1"}, {value: "2"}, {value: "3"}, ] }, options: [ {value: "1"}, {value: "2"}, {value: "3"}, {value: "4"}, {value: "5"}, ], filterOptions() { return this.dynamicValidateForm.domains.map(item => { const chickeIds = this.dynamicValidateForm.domains.filter(v => v.value !== item.value).map(v => v.value); const list = this.options.filter(v => !chickeIds.includes(v.value)) return list }) }, filterOptions2() { let data = this.dynamicValidateForm.domains.map(item => item.value); return data.map(item => { return this.options.filter(v => !data.includes(v.value) || item == v.value) }) }, } console.log(data.filterOptions()) console.log(data.filterOptions2())
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 ArcGIS批量裁剪
- ¥15 labview程序设计
- ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
- ¥15 Cloudreve保存用户组存储空间大小时报错
- ¥15 伪标签为什么不能作为弱监督语义分割的结果?
- ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
- ¥15 游戏盾如何溯源服务器真实ip?
- ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
- ¥15 android 集成sentry上报时报错。
- ¥50 win10链接MySQL