gpt4 book ai didi

javascript - 对象解构为对象声明?

转载 作者:行者123 更新时间:2023-11-30 09:31:27 24 4
gpt4 key购买 nike

我有一个对象,它有几个值,我想提取这些值并将其放入另一个对象中,这些值具有不同的键。现在我正在使用解构来提取值,然后使用这些提取的值及其新键定义一个对象字面量。

这是我的功能:

getProductReviewData() {
const {
averageRateDisplay,
rawAverageRate,
displayReviewCount,
productReviewIds,
productReviews
} = this.productReviewsStore.getAll(); // this is deconstruction of an object
return {
ratingDisplay: averageRateDisplay,
rating: rawAverageRate,
ratingCount: displayReviewCount,
reviewIds: productReviewIds,
reviewMap: productReviews
};
}

但是,我想知道是否有一种简写方式来做到这一点,所以对解构和声明都使用一行。有谁知道这是否可能?

最佳答案

I don't think there's anything to put them in the same statement ,尤其是重命名。您当然可以编写自己的辅助函数来重命名对象属性。

我认为将对象分配给一个变量然后重复多次,比重复每个属性/变量名称两次要干净得多:

getProductReviewData() {
const all = this.productReviewsStore.getAll();
return {
ratingDisplay: all.averageRateDisplay,
rating: all.rawAverageRate,
ratingCount: all.displayReviewCount,
reviewIds: all.productReviewIds,
reviewMap: all.productReviews
};
}

如果您1更喜欢这样,您还可以使用对象属性的解构来交换两侧:

getProductReviewData() {
let res = {};
({
averageRateDisplay: res.ratingDisplay,
rawAverageRate: res.rating,
displayReviewCount: res.ratingCount,
productReviewIds: res.reviewIds,
productReviews: res.reviewMap
} = this.productReviewsStore.getAll());
return res;
}

1:我个人认为这只是不必要的混淆 - 而且多了一行!

关于javascript - 对象解构为对象声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45971203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com