const在减少方法中不确定


avgPrice(data) {
    const min_price = data.min_price,
    max_price = data.max_price;
    console.log(min_price) //has value
    let x = _.reduce(data.custom_pricing, (a, b) => {
        a.min_price = Math.min(a.min_price, b.min_price);
        a.max_price = Math.max(a.max_price, b.max_price);
    }, { min_price:min_price, max_price:max_price });
}

上面的代码怎么了?我有min_price是未定义的错误。但是我的const min_price在我做台时具有价值。

您必须从reduce返回(返回a,因此可以用于下一个迭代(。

let x = _.reduce(data.custom_pricing, (a, b) => {
    a.min_price = Math.min(a.min_price, b.min_price);
    a.max_price = Math.max(a.max_price, b.max_price);
    return a; //<<<<<
}, { min_price:min_price, max_price:max_price });

无突变:

尽管我看不出原因。

let x = _.reduce(data.custom_pricing, (a, b) => 
    ({ min_price: Math.min(a.min_price, b.min_price), max_price: Math.max(a.max_price, b.max_price) }), // create a new object and return it
    { min_price:min_price, max_price:max_price });

最新更新