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无用