Поиск ошибок в объекте js
Помогите разобраться с задачей. Дан массив объектов, вида:
[
{
param1: '',
param2: 10,
param3: 'text'
},
{
param1: 'text',
param2: 50,
param3: ''
}
]
Его необходимо проверить на пустые значения параметров и на то, что значения не больше 15. Вывести отчёт в другой массив вида:
[
{
index: 1,
errorItem: 'param1',
reason: 'empty'
},
{
index: 2,
errorItem: 'param2',
reason: 'big'
},
{
index: 2,
errorItem: 'param3',
reason: 'empty'
}
]
На пустоту нужно проверять каждый параметр, а на величину только param2.
Ответы (1 шт):
Автор решения: Александр Лесив
→ Ссылка
const arr = getArr();
const errors = checkErrors(arr);
console.log(errors);
function checkErrors(arr) {
const errors = [];
for (let i = 0; i < arr.length; i++) {
const obj = arr[i];
for (let key in obj) {
if (obj[key] == '') {
errors.push(buildErrorObj(i, key, 'empty'));
};
};
if (obj.param2 > 15) {
errors.push(buildErrorObj(i, 'param2', 'big'));
};
}
return errors;
}
function buildErrorObj(index, errorItem, reason) {
return ({
index,
errorItem,
reason
});
}
function getArr() {
return (
[{
param1: '',
param2: 10,
param3: 'text'
},
{
param1: 'text',
param2: 50,
param3: ''
},
{
param1: 'text',
param2: '',
param3: 'text'
}
]
);
}