Javascript 条件链式数组方法
如何使数组方法成为可选的 Leets说我有这个代码,但我想Javascript 条件链式数组方法,javascript,Javascript,如何使数组方法成为可选的 Leets说我有这个代码,但我想过滤或映射可选 const ages = data .filter(isDog) .map(dogYears) .reduce(sum); 所以我会做一些类似的事情 let result if(useFilter) { result = data.filter(isDog) } result .map(dogYears) .reduce(sum); 我知道应该有一种更紧凑、更可靠的方法,可以使用三元运算符在
过滤
或映射
可选
const ages = data
.filter(isDog)
.map(dogYears)
.reduce(sum);
所以我会做一些类似的事情
let result
if(useFilter) {
result = data.filter(isDog)
}
result
.map(dogYears)
.reduce(sum);
我知道应该有一种更紧凑、更可靠的方法,可以使用三元运算符在一行中有条件地变换初始数组,而无需任何重新分配:
// const result = [ ... ]
const output = (useFilter ? result.filter(isDog) : result)
.map(dogYears)
.reduce(sum);
.filter(x=>useFilter?isDog(x):true)
取决于您对性能的关注程度。使用if()