if (oldData.longName !== newData.longName) { this.changeValue.push({ name: '交易对手全称', oldValue: oldData.longName, newValue: newData.longName, }) } if (oldData.shortName !== newData.shortName) { this.changeValue.push({ name: '交易对手简称', oldValue: oldData.shortName, newValue: newData.shortName, }) }简化代码
时间: 2024-04-10 09:34:54 浏览: 12
你可以简化这段代码如下:
```javascript
function addChangeValue(propName, oldVal, newVal) {
if (oldVal !== newVal) {
this.changeValue.push({ name: propName, oldValue: oldVal, newValue: newVal });
}
}
addChangeValue.call(this, '交易对手全称', oldData.longName, newData.longName);
addChangeValue.call(this, '交易对手简称', oldData.shortName, newData.shortName);
```
这里我们提取了一个函数 `addChangeValue`,它接受属性名、旧值和新值作为参数,并将变更的数据推入 `this.changeValue` 数组中。然后我们分别调用该函数来检查并添加两个属性的变更情况。使用 `call` 方法来确保在当前的上下文中调用 `addChangeValue` 函数。
相关问题
QTimeZone::availableTimeZoneIds() 可以获取所有可用的时区 ID 等
是的,`QTimeZone::availableTimeZoneIds()` 可以获取所有可用的时区 ID。它返回一个 `QList<QString>` 对象,其中包含所有可用的时区 ID。例如,以下代码将获取所有可用的时区 ID:
```cpp
QList<QString> timeZoneIds = QTimeZone::availableTimeZoneIds();
foreach (const QString& timeZoneId, timeZoneIds) {
qDebug() << timeZoneId;
}
```
你也可以通过 `QTimeZone::displayName()` 方法来获取时区的名称。例如,以下代码将获取时区 ID 为 "Asia/Shanghai" 的时区的名称:
```cpp
QTimeZone timeZone("Asia/Shanghai");
QString timeZoneName = timeZone.displayName(QDateTime::currentDateTime(), QTimeZone::LongName);
qDebug() << timeZoneName;
```
其中,`displayName()` 方法接受两个参数:一个 `QDateTime` 对象,表示要显示的时间;一个枚举值,指定要显示的名称类型,可以是 `QTimeZone::ShortName`、`QTimeZone::LongName` 或 `QTimeZone::OffsetName`。
QTimeZone::availableTimeZoneIds() 帮我可以获取所有可用的时区 ID 等
是的,`QTimeZone::availableTimeZoneIds()` 可以帮助你获取所有可用的时区 ID。它返回一个 `QList<QString>` 对象,其中包含所有可用的时区 ID。例如,以下代码将获取所有可用的时区 ID:
```cpp
QList<QString> timeZoneIds = QTimeZone::availableTimeZoneIds();
foreach (const QString& timeZoneId, timeZoneIds) {
qDebug() << timeZoneId;
}
```
你也可以通过 `QTimeZone::displayName()` 方法来获取时区的名称。例如,以下代码将获取时区 ID 为 "Asia/Shanghai" 的时区的名称:
```cpp
QTimeZone timeZone("Asia/Shanghai");
QString timeZoneName = timeZone.displayName(QDateTime::currentDateTime(), QTimeZone::LongName);
qDebug() << timeZoneName;
```
其中,`displayName()` 方法接受两个参数:一个 `QDateTime` 对象,表示要显示的时间;一个枚举值,指定要显示的名称类型,可以是 `QTimeZone::ShortName`、`QTimeZone::LongName` 或 `QTimeZone::OffsetName`。