用reduce es6替换filter和map

2024-05-15

我试图避免与过滤器和映射链接,但为什么我的reduce 返回未定义?

const data = [{
        value: "moto",
        passed: true
    },{
        value: "boat",
        passed: false
    }, {
        value: "car",
        passed: true
    }]

    // expected ['moto', 'car']
    // using filter and map
    data.filter(obj => obj.passed).map(obj => obj.value)

怎么了?data.reduce((accum, obj) => obj.checked && [...accum, obj.value], [])


你可以做:

const data = [{value: "moto",passed: true}, {value: "boat",passed: false}, {value: "car",passed: true}];
const result = data.reduce((a, { passed: p, value: v}) => p ? (a.push(v), a) : a, []);

console.log(result);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用reduce es6替换filter和map 的相关文章

随机推荐