У меня есть объект activeRow
, который имеет параметры prevValue
и editedValue
Я использую companyDataKeys
в качестве ключей по умолчанию.Поэтому мне нужно нажать на массив logDetailsArray
объект logDetails
, если prevValue[key] !== editedValue[key]
Также я нажимаю logDetails
, если prevValue
или editedValue
равен undefined
, что означает, что он не имеет значенияили не существует
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)
}
}
});