0

如何避免在迭代不可变列表时重新分配变量以创建另一个。我有下面的代码,它工作正常,

function foobar(stateValue) {
let propsValue = List();
stateValue.forEach((categoryItem) => {
    categoryItem.get('coveragePayorIds', List()).forEach((
        coveragePayorId) => {
        const category = categoryItem.get('category');
        propsValue = propsValue.push({
        category,
        coverage_payor_id: coveragePayorId,
        });
    });
});
return propsValue;
}

我正在尝试制作propsValue一个常量。如何实现?

4

1 回答 1

1

forEach都是关于副作用的,不适用于不可变的结构或变量。不要使用它。

function foobar(stateValue) {
    return List(stateValue).flatMap(categoryItem => {
        const category = categoryItem.get('category');
        return categoryItem.get('coveragePayorIds', List()).map(coverage_payor_id =>
            ({category, coverage_payor_id})
        );
    });
}
于 2019-07-27T20:18:58.677 回答