gpt4 book ai didi

javascript - 有谁知道优化我的代码的更好方法?

转载 作者:行者123 更新时间:2023-12-02 23:55:19 24 4
gpt4 key购买 nike

我有一个对象activeRow,它具有参数prevValueeditedValue

我使用companyDataKeys作为默认键。因此,如果 prevValue[key] !==editedValue[key]

,我需要向数组 logDetailsArray 推送一个对象 logDetails

如果 prevValueeditedValueundefined,这意味着它没有值或有值,我也会推送 logDetails不存在

const prevValues = this.state.activeRow.prevValue
const editedValues = this.state.activeRow.editedValue

Object.keys(this.state.companyDataKeys).forEach((key) => {
if (prevValues === undefined) {
logDetails = {
param: companyDataValue[key],
prevValue: '',
editedValue: (editedValues[key] === undefined) ? '' : editedValues[key].toString(),
}
logDetailsArray.push(logDetails)
}
if (editedValues === undefined) {
logDetails = {
param: companyDataValue[key],
prevValue: (prevValues[key] === undefined) ? '' : prevValues[key].toString(),
editedValue: '',
}
logDetailsArray.push(logDetails)
}
if (editedValues !== undefined && prevValues !== undefined) {
if (prevValues.hasOwnProperty(key) && editedValues.hasOwnProperty(key)) {
if (editedValues[key] !== prevValues[key]) {
logDetails = {
param: companyDataValue[key],
prevValue: prevValues[key].toString(),
editedValue: editedValues[key].toString(),
}
logDetailsArray.push(logDetails)
}
} else if (prevValues[key] !== undefined && editedValues[key] !== undefined) {
logDetails = {
param: companyDataValue[key],
prevValue: (prevValues[key] !== undefined) ? prevValues[key].toString() : '',
editedValue: (editedValues[key] !== undefined) ? editedValues[key].toString() : '',
}
logDetailsArray.push(logDetails)
}
}
});

最佳答案

我想,这就是你想要的!

通过使用 javascripttruthy-falsey行为和 OR 逻辑,我们将您的长代码简化为更简单的代码!

const prevValues = this.state.activeRow.prevValue || {};
const editedValues = this.state.activeRow.editedValue || {};

Object.keys(this.state.companyDataKeys).forEach((key) => {
logDetails = {
param: companyDataValue[key],
prevValue: (prevValues[key] || '').toString(),
editedValue: (editedValues[key] || '').toString(),
};
logDetailsArray.push(logDetails);
});

希望这会对您有所帮助。谢谢!

关于javascript - 有谁知道优化我的代码的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55424126/

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