const ids = []
this.secondaryList.forEach((item) => {
item.secondaryDP.forEach((second) => {
if (!second.checked) {
ids.push(...second.list)
}
})
})
这几句代码如何精简?
const ids = []
this.secondaryList.forEach((item) => {
item.secondaryDP.forEach((second) => {
if (!second.checked) {
ids.push(...second.list)
}
})
})
这几句代码如何精简?
GPT是这样回答的
const ids = this.secondaryList.reduce((acc, item) => {
return acc.concat(item.secondaryDP.filter(second => !second.checked).map(second => second.list))
}, [])
上述代码使用了 Array.prototype.reduce 和 Array.prototype.filter 方法来简化代码。
Array.prototype.reduce 方法可以对数组中的每个元素执行给定的函数,并将其结果汇总为单个值。
Array.prototype.filter 方法可以创建一个新的数组,其中的元素经过测试后保留下来。
通过使用这两个方法,我们可以避免使用多层循环和 forEach 方法,使代码更加简洁。
不知道对你是否有帮助